Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Заметки Дизайнера" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Самоучитель по HTML и CSS - 47
Дата: 2009-02-06 |
Самоучитель по HTML и CSS
Добрый день. На сайте htmlbook.ru в разделе Свойства CSS добавились «живые примеры». Возле каждого примера имеется небольшая кнопка, которая позволяет сразу же просмотреть результат действия примера в браузере. Это удобно, ведь не придется лишний раз копировать пример в редактор. К тому же все необходимые рисунки прилагаются сразу. Свое мнение о новинке можете высказать мне по почте vlad@htmlbook.ru. 15. ПсевдоклассыПсевдоклассы определяют динамическое состояние элементов, которое изменяется со временем или с помощью действий пользователя, а также положение в дереве документа. Примером такого состояния служит текстовая ссылка, которая меняет свой цвет при наведении на нее курсора мыши. При использовании псевдоклассов браузер не перегружает текущий документ, поэтому с помощью псевдоклассов можно получить разные динамические эффекты на странице. Синтаксис применения псевдоклассов следующий. Селектор:Псевдокласс { Описание правил стиля } Вначале указывается селектор, к которому добавляется псевдокласс, затем следует двоеточие, после которого идет имя псевдокласса. Допускается применять псевдоклассы к именам идентификаторов или классов (A.menu:hover {color: green}), а также к контекстным селекторам (.menu A:hover {background: #fc0}). Если псевдокласс указывается без селектора впереди (:hover), то он будет применяться ко всем элементам документа. Условно все псевдоклассы делятся на три группы:
Псевдоклассы, определяющие состояние элементовК этой группе относятся псевдоклассы, которые распознают текущее состояние элемента и применяют стиль только для этого состояния. activeПроисходит при активации пользователем элемента. Например, ссылка становится активной, если навести на нее курсор и щелкнуть мышкой. Несмотря на то, что активным может стать практически любой элемент веб-страницы, псевдокласс active используется преимущественно для ссылок. linkПрименяется к непосещенным ссылкам, т.е. таким ссылкам, на которые пользователь еще не нажимал. Браузер некоторое время сохраняет историю посещений, поэтому ссылка может быть помечена как посещенная хотя бы потому, что по ней был зафиксирован переход раньше. Замечание Запись A {...} и A:link {...} по своему результату равноценна, поскольку в браузере дает один и тот же эффект, поэтому псевдокласс link можно не указывать. focusПрименяется к элементу при получении им фокуса. Например, для текстового поля формы получение фокуса означает, что курсор установлен в поле, и с помощью клавиатуры можно вводить в него текст (пример 15.1). Пример 15.1. Применение псевдокласса focus
Результат примера показан ниже (рис. 15.1). В первой строке находится курсор, поэтому текстовое поле получило фокус. Рис. 15.1. Изменение стиля текста при получении фокуса В данном примере в текстовом поле содержится предварительный текст, он определяется значением параметра value тега <INPUT>. При щелчке по элементу формы происходит получение полем фокуса, и цвет текста меняется на красный. Достаточно щелкнуть в любом месте страницы (кроме текстового поля, естественно), как произойдет потеря фокуса и текст вернется к первоначальному черному цвету. Замечание 1 Результат будет виден только для тех элементов, которые могут получить фокус. В частности, это теги <A>, <INPUT>, <SELECT> и <TEXTAREA>. hoverПсевдокласс hover активизируется, когда курсор мыши находится в пределах элемента, но щелчка по нему не происходит. visitedДанный псевдокласс применяется к посещенным ссылкам. Обычно такая ссылка меняет свой цвет по умолчанию на фиолетовый, но с помощью стилей цвет и другие параметры можно задать самостоятельно (пример 15.2). Пример 15.2. Изменение цвета ссылок
Результат примера показан на рис. 15.2. Рис. 15.2. Вид ссылки при наведении на нее курсора мыши В данном примере показано использование псевдоклассов совместно со ссылками. При этом имеет значение порядок следования псевдоклассов. Вначале указывается visited, а затем идет hover, в противном случае посещенные ссылки не будут изменять свой цвет при наведении на них курсора. Селекторы могут содержать более одного псевдокласса, которые перечисляются подряд через двоеточие, но только в том случае, если их действия не противоречат друг другу. Так, запись A:visited:hover является корректной, а запись A:link:visited — нет. Впрочем, если подходить формально, то валидатор CSS считает правильным любое сочетание псевдоклассов. Замечание Браузер Internet Explorer 6 и младше позволяет использовать псевдоклассы active и hover только для ссылок. Начиная с версии 7.0 псевдоклассы в этом браузере работают и для других элементов. Псевдокласс hover не обязательно должен применяться к ссылкам, его можно добавлять и к другим элементам документа. Так, в примере 15.3 показана таблица, строки которой меняют свой цвет при наведении на них курсора мыши. Это достигается за счет добавления псевдокласса hover к селектору TR. Пример 15.3. Выделение строк таблицы
Результат примера показан ниже (рис. 15.3). Рис. 15.3. Выделение строк таблицы при наведении на них курсора мыши Псевдоклассы, имеющие отношение к дереву документаК этой группе относятся псевдоклассы, которые определяют положение элемента в дереве документа и применяют к нему стиль в зависимости от его статуса. first-childПрименяется к первому дочернему элементу селектора, который расположен в дереве элементов документа. Чтобы стало понятно, о чем речь, разберем небольшой код (пример 15.4). Пример 15.4. Использование псевдокласса first-child
Результат примера показан ниже (рис. 15.4). Рис. 15.4. Вид ссылки при наведении на нее курсора мыши В данном примере псевдокласс first-child добавляется к селектору B и устанавливает для него красный цвет текста. Хотя контейнер <B> встречается в первом абзаце три раза, красным цветом будет выделено лишь первое упоминание, т.е. текст «Lorem ipsum». В остальных случаях содержимое контейнера <B> отображается черным цветом. Со следующим абзацем все начинается снова, поскольку родительский элемент поменялся. Поэтому фраза «Ut wisis enim» также будет выделена красным цветом. Замечание Браузер Internet Explorer поддерживает псевдокласс first-child начиная с версии 7.0. Псевдокласс first-child удобнее всего использовать в тех случаях, когда требуется задать разный стиль для первого и остальных однотипных элементов. Например, по правилам типографики красную строку для первого абзаца текста не устанавливают, а для остальных абзацев добавляют отступ первой строки. С этой целью применяют параметр text-indent с нужным значением отступа. Но чтобы изменить стиль первого абзаца и убрать для него отступ потребуется воспользоваться псевдоклассом first-child (пример 15.5). Пример 15.5. Отступы для абзаца
Результат примера показан ниже (рис. 15.5). Рис. 15.5. Изменение стиля первого абзаца В данном примере первый абзац текста не содержит отступа первой строки, а для остальных он установлен. Псевдоклассы, задающие язык текстаДля документов, одновременно содержащие тексты на нескольких языках имеет значение соблюдение правил синтаксиса, характерные для того или иного языка. С помощью псевдоклассов можно изменять стиль оформления иностранных текстов, а также некоторые настройки. langОпределяет язык, который используется в документе или его фрагменте. В коде HTML язык устанавливается через параметр charset тега <META>. С помощью псевдокласса lang можно задавать определенные настройки, характерные для разных языков, например, вид кавычек в цитатах. Синтаксис следующий. Элемент:lang(язык) { ... } В качестве языка могут выступать следующие значения: ru— русский; en— английский ; de— немецкий ; fr— французский; it— итальянский. Пример 15.6. Вид кавычек в зависимости от языка
Результат данного примера показан на рис.15.6. Для отображения типовых кавычек в примере используется стилевое свойство quotes, а само переключение языка и соответствующего вида кавычек происходит через параметр lang, добавляемого к тегу <Q>. Рис. 15.6. Разные кавычки для разных языков Вопросы для проверки1. Олег сделал ссылки, которые меняют цвет фона при наведении на них курсора мыши. Для этого он использовал следующий стиль. A { color: blue; background: orange; } Однако некоторые ссылки при наведении на них курсора не меняли свой цвет на черный. Почему?
2. Требуется выделить фоновым цветом первую строку таблицы. Какой псевдокласс для этой цели подойдет?
3. К каким элементам добавляет стиль следующая конструкция — A:link:visited:hover ?
Copyright 2007—2009 Влад Мержевич. По всем вопросам пишите по адресу vlad@htmlbook.ru
|
В избранное | ||