Esta es una solución moderna que inventé usando font-awesome . Las extensiones del proveedor se han omitido por brevedad.
HTML
<fieldset>
<label for="color">Select Color</label>
<div class="select-wrapper">
<select id="color">
<option>Red</option>
<option>Blue</option>
<option>Yellow</option>
</select>
<i class="fa fa-chevron-down"></i>
</div>
</fieldset>
SCSS
fieldset {
.select-wrapper {
position: relative;
select {
appearance: none;
position: relative;
z-index: 1;
background: transparent;
+ i {
position: absolute;
top: 40%;
right: 15px;
}
}
}
Si su elemento seleccionado tiene un color de fondo definido, entonces esto no funcionará ya que este fragmento esencialmente coloca el ícono de Chevron detrás del elemento de selección (para permitir hacer clic en la parte superior del ícono para iniciar la acción de selección).
Sin embargo, puede diseñar el contenedor de selección con el mismo tamaño que el elemento de selección y diseñar su fondo para lograr el mismo efecto.
Consulte mi CodePen para ver una demostración funcional que muestra este fragmento de código en un cuadro de selección de temática oscura y clara utilizando una etiqueta regular y una etiqueta de "marcador de posición" y otros estilos limpios como bordes y anchos.
PD: Esta es una respuesta que había publicado a otra pregunta duplicada a principios de este año.