У меня есть окно выбора HTML, которое мне нужно стилизовать. Я бы предпочел использовать только CSS, но если потребуется, я воспользуюсь jQuery для заполнения пробелов.
Кто-нибудь может порекомендовать хороший учебник или плагин?
Я знаю, Google, но я искал последние два часа, и я не нахожу ничего, что соответствует моим потребностям.
Это должно быть:
- Совместим с jQuery 1.3.2
- доступной
- ненавязчивый
- Полностью настраиваемый с точки зрения стиля каждого аспекта окна выбора
Кто-нибудь знает что-нибудь, что будет соответствовать моим потребностям?
jquery
css
html-select
Апурв Хурасия
источник
источник
select
элементы кросс-браузерно. Но если люди хотят жить с различиями, вы можете их стилизовать - включая границы.Ответы:
Я видел некоторые JQuery плагинов, которые там конвертировано
<select>
«s к<ol>
» s и<option>
«s к<li>
» s, так что вы можете стилизовать с помощью CSS. Не может быть слишком сложно свернуть свое собственное.Вот один из них: https://gist.github.com/1139558 (Раньше он здесь , но, похоже, сайт не работает.)
Используйте это так:
Стиль это так:
источник
Обновление: с 2013 года, которые я видел, которые стоит проверить:
Да!
По состоянию на 2012 год одним из самых легких и гибких решений, которые я нашел, является ddSlick . Актуальная (отредактированная) информация с сайта:
select options
И вот предварительный просмотр различных режимов:
источник
Что касается CSS, Mozilla кажется наиболее дружелюбной, особенно из FF 3.5+. Браузеры Webkit в основном делают свое дело и игнорируют любой стиль. IE очень ограничен, хотя IE8 позволяет вам по крайней мере стилизовать границы цвета / ширины.
В FF 3.5+ выглядит довольно неплохо (конечно, выбирая цветовые предпочтения):
Но когда дело доходит до IE, вы должны отключить цвет фона в опции, если вы не хотите, чтобы он отображался, когда меню опций не раскрыто. И, как я уже сказал, WebKit делает свое дело.
источник
Мы нашли простой и достойный способ сделать это. Это кросс-браузер, разлагаемый и не нарушает форму сообщения. Сначала установите непрозрачность окна выбора на 0.
это так, что вы все еще можете нажать на него
Затем сделайте div с теми же размерами, что и поле выбора. Div должен лежать под окном выбора в качестве фона. Для этого используйте {position: absolute} и z-index.
Обновите div div innerHTML с помощью JavaScript. Easypeasy с помощью jQuery:
Это оно! Просто стиль вашего div вместо поля выбора. Я не тестировал приведенный выше код, поэтому вам, возможно, понадобится настроить его. Но, надеюсь, вы понимаете суть.
Я думаю, что это решение превосходит {-webkit-Appearance: none;}. То, что браузеры должны делать в лучшем случае, это диктовать взаимодействие с элементами формы, но определенно не то, как они изначально отображаются на странице, поскольку это нарушает дизайн сайта.
источник
Вот небольшой штекер, если вы в основном хотите
select
элементаoptions
, правильный zindex и т. д.)ul
,li
сгенерированные наценкиТогда jquery.yaselect.js может быть лучше . Просто:
И последняя разметка:
Проверьте это на github.com
источник
Вы можете в некоторой степени стилизовать CSS
Но это полностью зависит от браузера. Некоторые браузеры упрямы.
Тем не менее, это только даст вам далеко, и это не всегда выглядит очень хорошо. Для полного контроля вам нужно заменить выбор через jQuery собственным виджетом, который эмулирует функциональность поля выбора. Убедитесь, что когда JS отключен, на его месте находится обычное поле выбора. Это позволяет большему количеству пользователей использовать вашу форму и помогает с доступностью.
источник
Большинство браузеров не поддерживают настройку тега select с помощью css. Но я нахожу этот javascript, который можно использовать для стилизации тега select. Но, как обычно, нет поддержки браузеров IE.
http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/ Я заметил ошибку, из-за которой атрибут Onchange не работает
источник
Я только что нашел это, которое кажется действительно хорошим.
http://www.dfc-e.com/metiers/multimedia/opensource/jqtransform/
источник
Если есть решение без JQuery. Ссылка, где вы можете увидеть рабочий пример: http://www.letmaier.com/_selectbox/select_general_code.html (в стиле с большим количеством CSS)
Раздел стиля моего решения:
Теперь HTML-код внутри тега body:
источник
Обновлено в 2014 году: вам не нужен jQuery для этого . Вы можете полностью стилизовать поле выбора без jQuery, используя StyleSelect . Например, учитывая следующее поле выбора:
Выполнение
styleSelect('select.demo')
создаст стилизованное поле выбора следующим образом:источник
Я создал плагин jQuery, SelectBoxIt , пару дней назад. Он пытается имитировать поведение обычного поля выбора HTML, но также позволяет стилизовать и анимировать поле выбора с помощью jQueryUI. Посмотрите и дайте мне знать, что вы думаете.
http://www.selectboxit.com
источник
Вы должны попробовать использовать какой-нибудь плагин jQuery, например ikSelect .
Я попытался сделать его очень настраиваемым, но простым в использовании.
http://github.com/Igor10k/ikSelect
источник
Это кажется старым, но здесь очень интересный плагин - http://uniformjs.com
источник
это использует
twitter-bootstrap
стили, чтобы повернутьselect
вdropdown
меню https://github.com/silviomoreto/bootstrap-selectисточник
Простым решением является деформация окна выбора внутри элемента div и стилизация элемента div в соответствии с вашим дизайном. Установите непрозрачность: 0, чтобы выбрать поле, оно сделает поле выбора невидимым. Вставьте тег span с помощью jQuery и динамически измените его значение, если пользователь изменит значение раскрывающегося списка. Общая демонстрация показана в этом уроке с объяснением кода. Надеюсь, это решит вашу проблему.
Код JQuery выглядит примерно так.
источник