
Не так давно
zhendalf писал
про стилизацию инпута выбора файла и, судя по комментариям, статья понравилась.
Предлагаю подборку решений, с помощью которых можно стилизовать любой элемент формы — чекбокс, радиобаттон, простой инпут или селект.

Работает в связке с jQuery. Тестировано в FF 2+, Opera 9.5+, Safari 3.1+, IE 6+.

Опять же работает с jQuery. Информации о поддержке браузерами нет, но, думаю, работает почти везде.

Скрипт под MooTools. По заверениям разработчика работает даже в старых браузерах (интересно, насколько старых?).

В отличие от предыдущих, это решение полностью автономное. По словам разработчика корректно работает в Firefox, Opera, Safari и Internet Explorer 7.

К сожалению, этот скрипт не работает в Internet Explorer 6.
Заключение судмедэксперта
При изменении внешнего вида стандартных (читай, привычных) элементов интерфейса, самое главное — не переусердствовать. Помните, что элемент всегда должен оставаться узнаваем.
Если у вас есть еще какие-то похожие примеры в заначке, то делитесь ими в комментариях.
Для желающих —
оригинал статьи.
комментарии (53)
Но в целях демонстрации возможностей — это хорошие примеры.
Пришлось и файлинпуты стилизовать…
А по статье:
А вообще ни один представленый пример не обрабатывает select в ие ниже 7го.
Я долго искал — нормального не нашел. Написал сам. Как доточу — выложу.
Если у сайта, у примеру, красивый современный дизайн и стандартные контролы ну никак не сомтрятся на нем, что делать тогда? Уродовать дизайн?
Да и не все дизайнеры учитывают геморройность замены стандартного вида чекбоксов и Ко на красивенькие и, как результат, не дизайнят эти элементы.
А вот делаю сейчас проект, в котором заказчик настоял на нестандартных селектах :)
habrahabr.ru/blogs/ui_design_and_usability/30560/
IE6 && IE8 falled
«исправили опечатки и добавили новые»
Попробуйте закомментить строку и посмотреть результат
if(ieversion < 7) {return false;} //exit script if IE6да и в мозилле как-то не очень, при наведении на скролл бар скрипт вовсе убирает выпавший селект
Спасибо за обзор, недавно искал какое-то решение для селекта, а под руками ничего не было.
Как же задолбало.
Они не понимают сколько нужно возиться, что бы заставить работать их страшненький контрол. Что бы инпуты в сафари не подсвечивались и не портили из страшненькие скругленные углы. Селект — это вообще ужас.
В остальном — да.
Так что стандартные — это наше все.
А такие «нововведения» к хорошему не приводят.
Хотя на одном сайте порадовало наклонное поле для поиска, но это уже флеш.
Я давно думал, почему разработчики браузеров не дадут функционала, схожего с Webkit? Почему идеальную страничку должны поганить уродские контролы операционки? Особенно, если у юзера стоит Win98 стиль, пусть даже под Vista или XP… Неужели если дизайнер рисует обалденно красивый сайт, нельзя было б на этот сайт нарисовать и контролы?
Просто средства на JS это даже не полу-меры, это вообще не вариант. Объясню почему.
— Отрабатывают все скрипты обычно сразу после загрузки страницы, поэтому привет динамическое добавление полей, а также вариантов поля select (это охватывает как динамическое создание, так показ скрытых элементов)
— Люди с отключенным JS все равно увидят жесть
— Огромный геморрой с обработкой tabindex и событий с клавиатуры (например стрелочки при использовании поля select и т.д.)
Уже этих минусов достаточно, чтобы окончательно отказаться от применения JS замен.
И все это из-за того, что в IE решили, что эти компоненты может рендерить система. Почему интересно тогда Submit и Text можно стилизовать? ;) В Webkit хоть свойство предусмотрели, чтоб можно было стандартные перерисовывать…
Только что тестировал этот вариант. Размер позволяет встраивать ее только в админку, где юзер может подождать 5-10 секунд, для главной страницы сайта это неприемлемо :(
Хотя красивая, этого не отнимешь.