FontAwesome w <select> [duplicate]

Sep 24 2020

Próbuję zmienić domyślną strzałkę dla rozwijanego menu wyboru (prawa strona na poniższym zdjęciu). Mój obecny kod jest następujący:

<script src='https://kit.fontawesome.com/a076d05399.js'></script>

<select id="wgtmsr" style="width: 230px !important; min-width: 230px; max-width: 230px; font-size: 18px; height: 59px;" name="wgtmsr";><i class="fas fa-arrow-circle-down">

<option class="_self" selected="selected" value="#">MAKES SERVICED</option>
    
</select>

Skutkuje to: brakiem ikony

Odpowiedzi

1 IvanFrolov Sep 24 2020 at 14:24

<select id="wgtmsr" style="width: 230px !important; min-width: 230px; max-width: 230px; font-size: 18px; height: 59px;" name="wgtmsr";><i class="fas fa-arrow-circle-down">

<option class="_self" selected="selected" value="#">MAKES SERVICED</option>
    
</select>

<style>
#wgtmsr {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='arrow-circle-down' class='svg-inline--fa fa-arrow-circle-down fa-w-16' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='currentColor' d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 1em;
}
</style>

Element <select>ma pozwolić tylko tag<option> wnętrze, pls patrz tutaj Czy mogę używać HTML tagi w opcjach dla wybranych elementów?

Jak rozumiem - chcesz dodać ikonę do <select>, możesz to zrobić za pomocą tła CSS , możesz użyć svg w base64 lub stylizować tło jak każdy inny element (np. Aby użyć obrazu jpg / png).
Musi także zresetować domyślne style przeglądarki za pomocąappearance: none;

AKTUALIZACJA Pobrałem
ikonę jako plik SVG, którego chciałeś użyć i użyłem jej jako tła.
Jedna rzecz: przekonwertowałem go na base64, aby nie używać zewnętrznych obrazów, ale nie jest to wymagane - jak powiedziałem, możesz użyć jako pliku obrazu tła.