Красивый checkbox (чекбокс) - как стилизовать его?
Запись от and_y87 размещена 27.11.2012 в 11:28
Показов 40040
Комментарии 3
|
Многие задаются вопросом - "Как стилизовать чекбокс (чекбоксы)?" Работая верстальщиком заметил, что checkbox это одно из излюбленных мест дизайнеров... безусловно: красивый чекбокс это хоть и малость, но приятная для глаза штука, стандартные мало кому нравятся... Я бороздил долго и упорно интернет, видел кучу разных плагинов, но получая ценный опыт работы верстальщиком и JS-кодером я пришёл к своему собственному мнению какой он - скрипт для стилизации чекбоксов. всё просто, что бы стилизовать чекбокс достаточно по факту 14 строк кода на CSS.
1. мы ставим чекбокс 2. задаём чекбоксу id 3. рядом ставим лэйблл для этого чекбокса 4. далее мы скрываем чекбокс 5. устанавливаем лэйблу фоновую картинку и размеры вот и всё по сути... Код в итоге выглядит так:
Рабочий пример Мануал (для тех кто только начал учиться)
Вставляем на страницу в место где нужен чекбокс этот код:
вставили код, далее... В начале странице после тега:</head> закрывающий и перед тегом: <body> открывающий вставьте код, что бы получилось так:
Далее в папке images размещаем картинку .jpg фармата размерами 14 на 28 где сверху будет вид чекбокса не выделенного а снизу выделенного... если ваша папка с картинками имеет другое название замените "images" в строке: background: url(../images/checkbox.jpg) top; на ваше название папки... background: url(../"Название вашей папки без кавычек"/checkbox.jpg) top; так же лучше не допускать пробелов в названии папок. Сделали? Тогда всё... сохраняйте > проверяйте, и есть вы правильно *= разместили в своём коде мой, то всё заработает... Хотите больше и умнее читайте дальше ![]() почему type1 ? В перспективе можно сделать разнообразие чекбоксов расширяя стиль таким образом:
полностью код выглядит так: Кликните здесь для просмотра всего текста
так же заменилась одна строка на : [type=checkbox].styled_box:checked + label { что бы быть универсальной (для одностильных чекбоксов я считаю это не нужно) Динамика. Если нет желания возиться с проставлением тэга <label> То я приготовил плюшку которая сама проставит для вас лэйблы:
![]() Так же данную функцию можно запускать при динамическом добавлении строк таблиц. в неё встроил проверку на наличие лэйбла для стилизованных чекбоксов Может пригодится оО ? Ну и так... вдруг пригодится... Задаёте чекбоксу в таблице class "check_all" и при клике по нему(при изменении его состояния), он выделяет все чекбоксы в таблице, ну соответственно либо снимает выделение.
Если в ваших стилях что либо будет трогать display у чекбоксов; Если в ваших стилях что либо будет трогать стили у лэйблов; Перспективы. этот абзац для тех кто щарит. Сразу не додумался, но! Заглядывая в перспективу можно добавить ещё одно правило для :hover. дабавив при этом в изображение ещё один тип, получая изображение типа ( Обычный, При наведении, Выбранный) и пробивая по правилу = Top, Center, Bottom. Так же можно сэкономить на количестве запросов к серверу используя спрайты, получая код вида:
Но в принципе, если за основу взять чекбоксы размерами в 18 пикселей(как в примере) и составлять спрайт, отталкиваясь от размеров этих размеров, тогда всё будет как надо... Рабочий пример | |||||||||||||||||||||||||||||||||||||||||||||
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
-
Запись от and_y87 размещена 21.12.2012 в 11:31
-
Запись от Vedma размещена 21.12.2012 в 12:41
-
Эммм.... по сути я тут всё описал максимально понятно, как мог...
код открытый тут можно увидеть: http://example.andy87.ru/12/
проинспектировав кодЗапись от and_y87 размещена 21.12.2012 в 17:31



