Читаем CSS3 для веб-дизайнеров полностью

label for="alerts-email"Your Email/label

input type="text» id="alerts-email" /

/fieldset


fieldset

input type="submit" value="Subscribe" /

/fieldset

/form


На рис. 6.02 форма показана так, как она выглядит со стилями по умолчанию, которые выставляет браузер (в этом примере – Safari).


Рис. 6.02. Форма, открытая в Safari; без стилей

Стили для полей и подписей

Первые фрагменты CSS, которые мы добавим, чтобы начать построение этой формы, будут обрабатывать элементы fieldset и label – лишь немного пространства между строками.


#thing-alerts fieldset {

margin: 0 0 10px 0;

}


#thing-alerts label { 

display: block;

font-weight: bold;

line-height: 1.4;

color: #666;

color: rgba(0, 0, 0, 0.6);

text-shadow: 0 1px 1px #fff;

}


Глядя на рис. 6.03, можно увидеть, что мы добавили отступ в 10px под каждой строкой fieldset и задали подписям свойство display: block

, чтобы они отображались на отдельной строке. Мы также выставили черному тексту непрозрачность в 60% и указали запасной серый цвет для тех браузеров, которые пока не поддерживают RGBA. Мы также добавили небольшую белую подсветку свойством text-shadow, чтобы текст выглядел так, будто бы он вставлен на фон.


Рис. 6.03. К элементам fieldset и label применены стили


Теперь у нас есть хороший интервал в 10px между элементами fieldset, но из-за поля внутри серого блока нам не нужен отступ в 10px под последней строкой (содержащей кнопку «подписаться»).

Это часто встречающаяся ситуация: есть список элементов, к каждому из которых применяется один и тот же стиль, но нужно применить другой стиль к последнему элементу списка.

Вместо добавления class="last" к последнему элементу почему бы не воспользоваться CSS3-псевдоклассом: last-child, чтобы убрать отступ снизу, не трогая разметку:


#thing-alerts fieldset { 

margin: 0 0 10px 0;

}


#thing-alerts fieldset label {

display: block;

font-weight: bold;

line-height: 1.4;

color: #666;

color: rgba(0, 0, 0, 0.6);

text-shadow: 0 1px 1px #fff;

}


#thing-alerts fieldset: last-child {

margin: 0;

}


Помните, что :last-child не поддерживается в IE8 и ниже, но для небольших визуальных изменений, подобных этому, такое решение намного лучше, чем дополнительный класс в разметке.

На рис. 6.04 показано, что мы успели сделать: теперь нижний отступ на последнем элементе fieldset убран с помощью псевдокласса :last-child.


Рис. 6.04. Форма выглядит лучше, когда у последнего элемента fieldset нет отступа снизу

Больше CSS3-селекторов

Теперь, когда мы успешно воспользовались :last-child

, пора отметить, что в CSS3 есть много других чрезвычайно удобных селекторов.

Я очень рекомендую прочитать статью Роджера Йоханссона на эту тему – CSS selectors explained [14], – в которой он показывает, что они представляют собой и как работают. Поддержка этих селекторов различается между браузерами, так что обязательно сверьтесь с доскональными таблицами CSS contents and browser compatibility Питера-Пола Коха [15] и CSS Compatibility and Internet Explorer от Microsoft (http:// bkaprt.com/css3/13/)[16], чтобы узнать, что где поддерживается.

Оформление полей ввода

Начнем добавлять стили, которые превращают поля ввода по умолчанию во что-то особенное. На этот раз мы воспользуемся селектором по параметру из CSS2.1, чтобы обратиться исключительно к элементам input type="text" (не затрагивая кнопку input type="submit").

Если бы в объявлении мы просто написали:


#thing-alertsinput


то стиль бы применился ко всем объектам типа input (и к полям ввода, и к кнопкам). Но если мы исправим это на:


#thing-alerts input[type="text"]


то будут затронуты исключительно поля ввода.

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

Перейти на страницу:

Похожие книги

Секреты приложений Google
Секреты приложений Google

Даже продвинутые пользователи Интернета не подозревают о тех огромных возможностях, которые предоставляют сервисы Google. Автор рассказывает о таких «секретах» сервисов, которые просто немедленно хочется использовать! Создавать сайты и презентации, бродить по улочкам Парижа, изучать звездное небо – все это доступно каждому, кто сидит у экрана монитора и имеет доступ в Интернет. Книга научит вас работать с веб-приложениями и тысячекратно увеличить свои возможности с помощью новейших технологий. Она написана легким, доступным языком и не требует от читателя наличия каких-либо специальных знаний. Книга содержит множество примеров, иллюстраций и будет полезна всем, кто не стоит на месте и стремится сделать свою жизнь более насыщенной и интересной.

Денис Балуев , Денис Игоревич Балуев

Программирование, программы, базы данных / Интернет / Программное обеспечение / Книги по IT
Самоучитель современного пользователя ПК
Самоучитель современного пользователя ПК

В самоучителе рассмотрены темы, актуальные для современного пользователя ПК: цифровое фото, запись, оцифровка, обработка и воспроизведение звуковых и видеофайлов; Web-камеры, запись компакт-дисков, а также сканирование и печать изображений, работа с дигитайзерами, подключение плазменных панелей и телевизоров к ПК. Для начинающих пользователей в необходимом объеме изложены основные сведения об устройстве компьютера и видах программ, описаны настройка и работа в инструментальных и сервисных программах (диагностика и проверка ПК, файловые менеджеры, программы-антивирусы и архиваторы). Дополнительно изложены вопросы восстановления работоспособности ПК. Рекомендуется широкому кругу читателей — начинающих пользователей и работающих на ПК, которые интересуются возможностями новой аппаратуры и программного обеспечения.

В. В. Мельниченко , Н. В. Калиниченко

Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение
Как заработать в Интернете. 35 самых быстрых способов
Как заработать в Интернете. 35 самых быстрых способов

В современном мире новые технологии играют решающую роль, а с помощью Интернета любой человек в короткое время может стать миллионером! И самое главное, что для этого вам даже не нужно выходить из дому – лишь тратить несколько часов времени на работу в Сети…Способов заработать в Сети довольно много, но не все они идеальны, и не все будут одинаково полезны и эффективны. Эта книга написана специально для тех, кого интересует заработок в Интернете. На ее страницах вы найдете обзор методов: известные и не очень, старые и новые способы заработка в Сети, варианты открытия своего дела и способы работать «на себя» без создания ООО или ИП. Подробное описание каждого метода позволит вам сделать вывод о том, какой способ заработка подходит лично вам, а может быть, вы придумаете что-то новое. После прочтения этой книги вы будете обладать всеми знаниями, необходимыми для заработка в Сети – читайте и начинайте зарабатывать!

Ольга Фомина

ОС и Сети, интернет / Интернет / Личные финансы / Финансы и бизнес / Книги по IT