Tengo un cuadro de selección HTML que necesito diseñar. Preferiría usar solo CSS, pero si es necesario, usaré jQuery para llenar los vacíos.
¿Alguien puede recomendar un buen tutorial o complemento?
Lo sé, Google, pero he estado buscando las últimas dos horas y no encuentro nada que satisfaga mis necesidades.
Necesita ser:
- Compatible con jQuery 1.3.2
- Accesible
- Discreto
- Completamente personalizable en términos de diseño de cada aspecto de un cuadro de selección
¿Alguien sabe algo que satisfaga mis necesidades?
jquery
css
html-select
Apoorv Khurasia
fuente
fuente
select
elementos entre navegadores. Pero si las personas están dispuestas a vivir con las diferencias, puede diseñarlas, incluidas las fronteras.Respuestas:
He visto algunos complementos de jQuery que convierten
<select>
's en<ol>
' sy<option>
's en<li>
' s, para que pueda diseñarlo con CSS. No podría ser demasiado difícil rodar el tuyo.Aquí hay uno: https://gist.github.com/1139558 (Solía estar aquí , pero parece que el sitio no funciona).
Úselo así:
Dale estilo así:
fuente
Actualización: a partir de 2013, los dos que he visto que vale la pena consultar son:
¡Si!
A partir de 2012, una de las soluciones más ligeras y flexibles que he encontrado es ddSlick . Información relevante (editada) del sitio:
select options
Y aquí hay una vista previa de los distintos modos:
fuente
En cuanto a CSS, Mozilla parece ser el más amigable, especialmente de FF 3.5+. Los navegadores de Webkit en su mayoría solo hacen lo suyo e ignoran cualquier estilo. IE es muy limitado, aunque IE8 le permite al menos dar estilo al color / ancho del borde.
Lo siguiente en realidad se ve bastante bien en FF 3.5+ (seleccionando su preferencia de color, por supuesto):
Pero cuando se trata de IE, debe deshabilitar el color de fondo de la opción si no desea que se muestre cuando no se despliegue el menú de opciones. Y, como dije, webkit hace lo suyo.
fuente
Hemos encontrado una manera simple y decente de hacer esto. Es cross-browser, degradable y no rompe una publicación de formulario. Primero establezca la opacidad del cuadro de selección en 0.
esto es para que aún puedas hacer clic en él
Luego haga div con las mismas dimensiones que el cuadro de selección. El div debe estar debajo del cuadro de selección como fondo. Use {position: absolute} y z-index para lograr esto.
Actualice innerHTML del div con javascript. Easypeasy con jQuery:
¡Eso es! Simplemente diseñe su div en lugar del cuadro de selección. No he probado el código anterior, por lo que probablemente necesites modificarlo. Pero espero que entiendas lo esencial.
Creo que esta solución supera {-webkit-apariencia: ninguno;}. Lo que los navegadores deberían hacer a lo sumo es dictar la interacción con los elementos del formulario, pero definitivamente no cómo se muestran inicialmente en la página, ya que eso rompe el diseño del sitio.
fuente
Aquí hay un pequeño enchufe si en su mayoría quiere
select
elementooptions
, zindex adecuado, etc.)ul
,li
generadoEntonces jquery.yaselect.js podría ser mejor . Simplemente:
Y el marcado final es:
Compruébalo en github.com
fuente
Puedes diseñar hasta cierto punto con CSS solo
Pero esto depende completamente del navegador. Algunos navegadores son tercos.
Sin embargo, esto solo lo llevará hasta cierto punto, y no siempre se ve muy bien. Para un control completo, deberá reemplazar una selección a través de jQuery con un widget propio que emule la funcionalidad de un cuadro de selección. Asegúrese de que cuando JS esté deshabilitado, un cuadro de selección normal esté en su lugar. Esto permite que más usuarios usen su formulario, y ayuda con la accesibilidad.
fuente
La mayoría de los navegadores no admiten la personalización de la etiqueta select usando CSS. Pero encuentro este javascript que se puede usar para diseñar la etiqueta de selección. Pero como de costumbre, no hay soporte para navegadores IE.
http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/ Noté un error en esto que el atributo Onchange no funciona
fuente
Acabo de encontrar esto que parece realmente bueno.
http://www.dfc-e.com/metiers/multimedia/opensource/jqtransform/
fuente
Si tiene una solución sin jQuery. Un enlace donde puede ver un ejemplo de trabajo: http://www.letmaier.com/_selectbox/select_general_code.html (diseñado con más CSS)
La sección de estilo de mi solución:
Ahora el código HTML dentro de la etiqueta del cuerpo:
fuente
Actualizado para 2014: no necesita jQuery para esto . Puede diseñar completamente un cuadro de selección sin jQuery usando StyleSelect . Por ejemplo, dado el siguiente cuadro de selección:
La ejecución
styleSelect('select.demo')
crearía un cuadro de selección con el siguiente estilo:fuente
Creé el complemento jQuery, SelectBoxIt , hace un par de días. Intenta imitar el comportamiento de un cuadro de selección HTML normal, pero también le permite diseñar y animar el cuadro de selección utilizando jQueryUI. Echa un vistazo y hazme saber lo que piensas.
http://www.selectboxit.com
fuente
Debería intentar usar algún complemento jQuery como ikSelect .
Traté de hacerlo muy personalizable pero fácil de usar.
http://github.com/Igor10k/ikSelect
fuente
Esto parece viejo pero aquí un complemento muy interesante: http://uniformjs.com
fuente
esto en los usos
twitter-bootstrap
estilos para girarselect
en eldropdown
menú https://github.com/silviomoreto/bootstrap-selectfuente
La solución simple es deformar su cuadro de selección dentro de un div y diseñar el div que coincida con su diseño. Establezca la opacidad: 0 en el cuadro de selección, hará que el cuadro de selección sea invisible. Inserte una etiqueta span con jQuery y cambie su valor dinámicamente si el usuario cambia el valor desplegable. Demostración total que se muestra en este tutorial con explicación de código. Espero que resuelva tu problema.
JQuery Code se parece a esto.
fuente