Menú desplegable de selección de estilo en CSS

Subodh Poudel 20 febrero 2023
  1. Utilice appearance:none para ocultar la flecha predeterminada y establecer una flecha personalizada en el menú desplegable Seleccionar en CSS
  2. Utilice overflow:hidden para ocultar la flecha predeterminada y establecer una flecha personalizada en el menú desplegable Seleccionar en CSS
Menú desplegable de selección de estilo en CSS

En este artículo, presentaremos algunos métodos para diseñar el menú desplegable de selección en CSS.

Utilice appearance:none para ocultar la flecha predeterminada y establecer una flecha personalizada en el menú desplegable Seleccionar en CSS

Podemos diseñar el menú desplegable de selección usando solo CSS ocultando el conjunto de flechas predeterminado y agregando un conjunto de flechas personalizado. Existe una propiedad CSS appearance que define el estilo de un elemento en función del sistema operativo. Los estilos aplicados con la propiedad appearance serán nativos de la plataforma. Podemos usar esta propiedad en la etiqueta select y definir la flecha en el menú desplegable. La opción none en la propiedad appearance ocultará la flecha predeterminada del menú desplegable. Luego, podemos cargar nuestra flecha personalizada. Podemos utilizar las propiedades -webkit-appearance y -moz-appearance en los navegadores basados ​​en WebKit y Blink.

Por ejemplo, cree una lista desplegable utilizando las etiquetas select y option en HTML. Escriba las opciones de su elección. En CSS, seleccione la etiqueta select y establezca las diferentes propiedades como margin, width, height, padding, font-size, border. A continuación, utilice la propiedad appearance y establézcala en none. Luego, use la propiedad abreviada background para establecer la flecha personalizada. Utilice la función url() para seleccionar la imagen. Diseñe la imagen con propiedades como background-repeat, background-size y background-color. Utilice la opción no-repeat para mostrar la imagen una vez. Establezca la posición en 100% y el tamaño de fondo en 15%.

Por lo tanto, diseñamos un menú desplegable usando CSS.

Código de ejemplo:

<select>
 <option>RE Himalayan</option>
 <option selected>CRF Rally</option>
 <option>GS 310</option>
 <option>KTM ADV</option>
</select>
select {
 margin: 40px;
 width: 160px;
 padding: 4px 30px 4px 4px;
 font-size: 14px;
 border: 1px solid #eee;
 height: 30px;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 background: url(/img/DelftStack/logo.png) 100% / 15% no-repeat #ccc;
}

Utilice overflow:hidden para ocultar la flecha predeterminada y establecer una flecha personalizada en el menú desplegable Seleccionar en CSS

Podemos envolver la etiqueta select con un div y establecer su overflow en hidden para ocultar la flecha predeterminada en el menú desplegable. Luego, podemos agregar nuestra flecha personalizada, lo mismo que el primer método. La propiedad overflow establecida a hidden recortará el desbordamiento en el contenedor. El resto del contenido estará oculto. Definiremos el ancho del div menor que el del menú desplegable. Entonces, la flecha en el menú desplegable caerá fuera del contenedor cuando se usa el valor hidden en la propiedad overflow. Finalmente, podemos agregar nuestra flecha personalizada.

Por ejemplo, cree un div con la clase menu. Dentro del div, escriba los mismos elementos desplegables que en el primer método. En CSS, seleccione la etiqueta select que es descendiente de la clase menu como .menu select, y aplique los estilos. Establezca el background en transparent. Cree el width de 140px. Establezca font-size en 14px y cree un borde. Establezca la altura del menú en 35px. A continuación, seleccione la clase menú y dé el margen de 40px, el ancho de 125px y la altura de 34px. Asegúrese de que el ancho del recipiente sea menor que el del menú. A continuación, pon el overflow en hidden y pon la imagen de fondo como primer método.

Aquí, eliminamos la flecha predeterminada del menú desplegable y agregamos una flecha personalizada. Por lo tanto, podemos diseñar el menú desplegable de selección en CSS.

Código de ejemplo:

<div class="menu">
 <select>
 <option>RE Himalayan</option>
 <option selected>CRF Rally</option>
 <option>GS 310</option>
 <option>KTM ADV</option>
 </select>
</div>
.menu select {
 background: transparent;
 width: 140px;
 font-size: 14px;
 border: 1px solid #eee;
 height: 35px; 
} 
.menu{
 margin: 40px;
 width: 125px;
 height: 34px;
 border: 1px solid black;
 overflow: hidden;
 background: url(/img/DelftStack/logo.png) 100% / 15% no-repeat #ccc;
}
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn