» » CSS оформлення checkbox, radiobutton та пошук

CSS оформлення checkbox, radiobutton та пошук

Натрапив на дуже хороший архів і вирішив його викласти у своєму блозі. Представляю вам css3 оформлення чекбоксів, радіо і форм для заповнення (пошукових форм або, наприклад, форми для підписки на email). Сподобалося мені це оформлення html форм тим, що тут не використовуються скрипти, все працює і відображається тільки на css. Найпростіший html код, найпростіший css (ну правда не можна назвати css3 найпростішим).
CSS оформлення checkbox, radiobutton та пошук


Я вважаю розробники браузерів не дуже добре попрацювали над візуальним виконанням html форм (chekbox, radio, text, email і так далі) і зробили їх сирими. Тому вважаю обов'язковим застосовувати стилі до цих параметрів. Наприклад такі, як в цьому топіку.

Застосувати стилі можна наступним чином:

Спочатку створимо html форму (я візьму приклад чекбокса)
<input type="checkbox" value="CSS3" id="css3" />
<label for="css3">CSS3</label>


Далі просто застосовуємо до нього ось ці стилі і довантажувати зображення, яке є в архіві
input { padding: 0; margin: 0; height: 16px; width: 16px; float: left; position: absolute; left: 0; opacity: 0; }
p > label { float: left; line-height: 16px; color: #fff; padding: 0 0 0 18px; -moz-transition: color 1s ease; -o-transition: color 1s ease; -webkit-transition: color 1s ease; transition: color 1s ease; }
p:not(#foo) > input:hover + label, p:not(#foo) > input:focus + label, p:not(#foo) > input + label:hover, p:not(#foo) > input:focus + label { text-shadow: 1px 1px 3px #000; color: #2C7AD0; }
p:not(#foo) > input + label { background: url(gr_custom-inputs.png) 0 -1px no-repeat; height: 16px; }
p:not(#foo) > input[type=radio] + label { background-position: 0 -161px; }
/* Checked styles */
p:not(#foo) > input[type=radio]:checked + label { background-position: 0 -241px; }
p:not(#foo) > input[type=checkbox]:checked + label { background-position: 0 -81px; }
p:not(#foo) > input[type=checkbox]:hover:checked + label, p:not(#foo) > input[type=checkbox]:focus:checked + label, p:not(#foo) > input[type=checkbox]:checked + label:hover, p:not(#foo) > input[type=checkbox]:focus:checked + label { background-position: 0 -101px; }
p:not(#foo) > input[type=radio]:hover:checked + label, p:not(#foo) > input[type=radio]:focus:checked + label, p:not(#foo) > input[type=radio]:checked + label:hover, p:not(#foo) > input[type=radio]:focus:checked + label { background-position: 0 -261px; }
/* Hover & Focus styles */
p:not(#foo) > input[type=checkbox]:hover + label, p:not(#foo) > input[type=checkbox]:focus + label, p:not(#foo) > input[type=checkbox] + label:hover { background-position: 0 -21px; } p:not(#foo) > input[type=radio]:hover + label, p:not(#foo) > input[type=radio]:focus + label, p:not(#foo) > input[type=radio] + label:hover { background-position: 0 -181px; }
/* Active styles */
p:not(#foo) > input[type=checkbox]:active + label, p:not(#foo) > input[type=checkbox] + label:hover:active { background-position: 0 -41px; }
p:not(#foo) > input[type=radio]:active + label, p:not(#foo) > input[type=radio] + label:hover:active { background-position: 0 -201px; }
p:not(#foo) > input[type=checkbox]:active:checked + label, p:not(#foo) > input[type=checkbox]:checked + label:hover:active { background-position: 0 -121px; }
p:not(#foo) > input[type=radio]:active:checked + label, p:not(#foo) > input[type=radio]:checked + label:hover:active { background-position: 0 -281px; }
/* Disabled styles */
p:not(#foo) > input[type=checkbox]:disabled + label, p:not(#foo) > input[type=checkbox]:hover:disabled + label, p:not(#foo) > input[type=checkbox]:focus:disabled + label, p:not(#foo) > input[type=checkbox]:disabled + label:hover, p:not(#foo) > input[type=checkbox]:disabled + label:hover:active { background-position: 0 -61px; }
p:not(#foo) > input[type=radio]:disabled + label, p:not(#foo) > input[type=radio]:hover:disabled + label, p:not(#foo) > input[type=radio]:focus:disabled + label, p:not(#foo) > input[type=radio]:disabled + label:hover, p:not(#foo) > input[type=radio]:disabled + label:hover:active { background-position: 0 -221px; }
p:not(#foo) > input[type=checkbox]:disabled:checked + label, p:not(#foo) > input[type=checkbox]:hover:disabled:checked + label, p:not(#foo) > input[type=checkbox]:focus:disabled:checked + label, p:not(#foo) > input[type=checkbox]:disabled:checked + label:hover, p:not(#foo) > input[type=checkbox]:disabled:checked + label:hover:active { background-position: 0 -141px; } p:not(#foo) > input[type=radio]:disabled:checked + label, p:not(#foo) > input[type=radio]:hover:disabled:checked + label, p:not(#foo) > input[type=radio]:focus:disabled:checked + label, p:not(#foo) > input[type=radio]:disabled:checked + label:hover, p:not(#foo) > input[type=radio]:disabled:checked + label:hover:active { background-position: 0 -301px; }



Завантажити безкоштовно


scripts
665 06.02.15



Напівжирний Нахилений текст Підкреслений текст Перекреслений текст | Вирівнювання по лівому краю По центру Вирівнювання по правому краю | Вставка смайликів Вибір кольору | Прихований текст Вставка цитати Перетворити вибраний текст з транслітерації в кирилицю Вставка спойлеру