Aquí está mi HTML:
<select id="ddlProducts" name="ddProducts">
<option>Product1 : Electronics </option>
<option>Product2 : Sports </option>
</select>
Quiero poner en negrita el nombre del producto (es decir, 'Producto1', 'Producto2', etc.) y sus categorías (por ejemplo, Electrónica, Deportes, etc.) en cursiva, utilizando solo CSS. Encontré una vieja pregunta que mencionaba que no es posible usar HTML y CSS, pero con suerte, ahora hay una solución.
html
css
drop-down-menu
MrClan
fuente
fuente
Respuestas:
Solo hay unos pocos atributos de estilo que se pueden aplicar a un
<option>
elemento.Esto se debe a que este tipo de elemento es un ejemplo de un "elemento reemplazado". Dependen del sistema operativo y no forman parte del navegador HTML. No se puede diseñar a través de
CSS
.Hay complementos / bibliotecas de reemplazo que se parecen a un
<select>
pero en realidad están compuestos deHTML
elementos regulares que PUEDEN ser diseñados.fuente
select > option
diseñar, pero no hay una solución de crossbrowser confiable para hacerlo y, al menos en Chrome, puede personalizar como máximo el tamaño de fuente, la familia, el fondo y el color de primer plano. Tal vez algunos ajustes más, pero cosas como el relleno, el color flotante y demás no pude cambiar. De hecho, puede haber alternativas, pero dependiendo del proyecto, la etiqueta <select> podría ser necesaria, por ejemplo, para la validación angular u otra razón.<option>
, pero muestra cómo emular<select>
para que pueda diseñar las opciones.OPTION
No, no es posible, ya que el estilo de estos elementos lo maneja el sistema operativo del usuario. MSDN responderá su pregunta aquí :
fuente
style="background-color: red;color: red;"
no funciona para mi EDITAR: después de cerrar la consola del desarrollador, se aplicó el estilo.Puede diseñar los elementos de opción hasta cierto punto.
Con la etiqueta * CSS, puede diseñar las opciones dentro del cuadro que dibuja el sistema.
Ejemplo:
Eso se verá así:
fuente
Encontré y utilizo este buen ejemplo de estilo de las selecciones y opciones. Puedes hacer con esta selección todo lo que quieras. Aquí está el violín
html
css
JS
fuente
Aquí hay algunas formas de estilo
<option>
junto con el<select>
si está usando Bootstrap y / o jquery. Entiendo que esto no es lo que pide el póster original, pero pensé que podría ayudar a otros que se topan con esta pregunta.Aún puede lograr el objetivo de diseñar cada uno por
<option>
separado, pero es posible que también deba aplicar un poco de estilo<select>
. Mi favorita es la biblioteca "Bootstrap Select" mencionada a continuación.Bootstrap Select Library (jquery)
Si ya está usando bootstrap, puede probar la biblioteca Bootstrap Select o la biblioteca a continuación (ya que tiene un tema de bootstrap).
Tenga en cuenta que puede diseñar el
select
elemento completo o losoption
elementos por separado.Ejemplos :
Dependencias : requiere jQuery v1.9.1 +, Bootstrap , el componente dropdown.js de Bootstrap y CSS de Bootstrap
Compatibilidad : inseguro, pero bootstrap dice que "admite las versiones más recientes y estables de todos los principales navegadores y plataformas"
Demostración : https://developer.snapappointments.com/bootstrap-select/examples/
Select2 (JS lib)
Hay una biblioteca que puede usar llamada Select2 .
Dependencias : la biblioteca es solo JS + CSS + HTML (no requiere JQuery).
Compatibilidad : IE 8+, Chrome 8+, Firefox 10+, Safari 3+, Opera 10.6+
Demostración : https://select2.org/getting-started/basic-usage
También hay un tema de arranque disponible.
Ningún ejemplo de Bootstrap:
Ejemplo de Bootstrap:
MDBootstrap ($ y Bootstrap y JQuery)
Si tiene dinero extra, puede usar una biblioteca premium MDBootstrap . (Este es un kit de interfaz de usuario completo , por lo que no es ligero)
Esto le permite diseñar sus elementos de selección y opción utilizando el diseño de Material .
¡Hay una versión gratuita, pero no te permitirá usar el bonito diseño Material!
Dependencias : Bootstrap 4 , JQuery,
Compatibilidad : "admite las versiones más recientes y estables de todos los principales navegadores y plataformas".
Demostración : https://mdbootstrap.com/docs/jquery/forms/select/#color
fuente
Parece que puedo configurar el CSS para
select
Chrome directamente. Código CSS y HTML proporcionado a continuación:fuente
Como ya se mencionó, la única forma es usar un complemento que reemplace la
<select>
funcionalidad.Una lista de complementos de jQuery: http://plugins.jquery.com/tag/select/
Eche un vistazo al ejemplo usando el
Select2
complemento: http://jsfiddle.net/swsLokfj/23/fuente
Bootstrap le permite usar el estilo a través del contenido de datos:
Ejemplo: https://silviomoreto.github.io/bootstrap-select/examples/
fuente
Algunas propiedades se pueden diseñar para la
<option>
etiqueta:font-family
color
font-*
background-color
También puede usar fuentes personalizadas para
<option>
etiquetas individuales , por ejemplo, cualquier fuente de Google , iconos de materiales u otras fuentes de iconos de icomoon o similares. (Eso puede ser útil para los selectores de fuente, etc.)Teniendo en cuenta eso, puede crear una pila de familia de fuentes e insertar iconos en las
<option>
etiquetas, por ejemplo.de dónde
★
se tomaIcons
y el resto es deRoboto
.Sin embargo, tenga en cuenta que las fuentes personalizadas no funcionan para la selección móvil.
fuente
red
: <option style = "color: red;">En realidad, puede agregar: before y: after y darles estilo. Al menos es algo
fuente
Es 2017 y ES posible apuntar a opciones de selección específicas. En mi proyecto tengo una tabla con una clase = "variaciones" , y las opciones de selección están en la celda de la tabla td = "valor" , y la selección tiene un ID select # pa_color . El elemento de opción también tiene una opción de clase = "adjunta" (entre otras etiquetas de clase). Si un usuario inicia sesión como cliente mayorista, puede ver todas las opciones de color. Pero a los clientes minoristas no se les permite comprar 2 opciones de color, así que los he desactivado
Tomó un poco de lógica, pero así es como apunté a las opciones de selección deshabilitadas.
CSS
Con eso, mis opciones de color solo son visibles para los clientes mayoristas.
fuente
Dejando aquí una alternativa rápida, usando el cambio de clase en una mesa. El comportamiento es muy similar al de un select, pero se puede diseñar con transición, filtros y colores, cada uno individualmente.
fuente
Puede usar estilos en línea para agregar un estilo personalizado a las
<option>
etiquetas.Por ejemplo:
<option style="font-weight:bold;color:#09C;">Option 1</option>
Esto aplicará los estilos solo a este<option>
elemento en particular .Luego puede usar un poco de magia javascript para aplicar los estilos en línea a todos los
<option>
elementos dentro de una<select>
etiqueta de esta manera:var select = $(document).getElementById('#select-element-id')
var option = select.children('#option-element-id')
option.css('font-weight', 'bold')
option.css('font-size', '24px')
También puede usar
<option value="" disabled> <br> </option>
para agregar un salto de línea entre las opciones.fuente
Este elemento lo representa el sistema operativo, no HTML. No se puede diseñar a través de CSS.
prueba esto te puede ayudar
fuente
Puede agregar una clase y da el peso de fuente: 700; en opcion. Pero al usar esto, todo el texto se pondrá en negrita.
fuente
Definitivamente funcionará. El sistema operativo representa la opción de selección, no html. Es por eso que el estilo CSS no tiene efecto ... generalmente
option{font-size : value ; background-color:colorCode; border-radius:value; }
esto funcionará, pero no podemos personalizar el relleno, el margen, etc.
Debajo del código, el 100% funciona para personalizar la etiqueta de selección tomada de este ejemplo
fuente
Incluso si no hay muchas propiedades para cambiar, pero puede lograr el siguiente estilo solo con css:
HTML:
CSS:
fuente