Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник по CSS (Влад Мержевич).pdf
Скачиваний:
142
Добавлен:
28.06.2014
Размер:
6.65 Mб
Скачать

Универсальный селектор

 

Internet Explorer

 

 

 

Netscape

 

 

Opera

 

 

 

Safari

 

 

 

Firefox

 

6.0

7.0

8.0

8.0

9.0

8.0

9.2

9.5

1.3

2.0

3.1

1.5

2.0

3.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибки

 

Ошибки

Да

 

Да

 

Да

 

Да

Да

Да

 

Да

Да

Да

 

Да

Да

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Описание

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

Синтаксис

* { Описание правил стиля }

Для обозначения универсального селектора применяется символ звездочки (*). В некоторыхслучаях указывать универсальный селектор не обязательно. Так, например, записи *.class и .class являются идентичными по своему результату.

Пример

HTML 4.01 CSS 2.1 IE 6 IE 7 IE 8 Op 9.5 Sa 3.1 Ff 2.0 Ff 3.0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Универсальный селектор</title>

<style type="text/css"> * {

margin: 0;

padding: 0; /* Убираем отступы и поля для всех элементов */

}

</style>

</head>

<body>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem

nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>

</body>

</html>

Браузеры

Браузер Internet Explorer до шестой версии включительно понимает конструкцию * html, что нелогично, поскольку тег <HTML> является тегом верхнего уровня и выше него никаких элементов быть не может.

Эта ошибка иногда применяется, чтобы создать стиль только для IE6, например конструкция * html body { … } будет добавлять стиль для селектора BODY только в IE6 и не работает в другихбраузерах.

В браузере Internet Explorer 7 при добавлении универсального селектора перед именем селектора без пробелов, он воспринимается как контекстный селектор. Так, запись *body работает только в IE7 и игнорируется другими браузерами.

Селекторы тегов

Internet Explorer

 

 

 

Netscape

 

 

Opera

 

 

 

Safari

 

 

 

Firefox

 

6.0

7.0

8.0

8.0

9.0

8.0

9.2

9.5

1.3

2.0

3.1

1.5

2.0

3.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Частично

Да

Да

 

Да

 

Да

 

Да

Да

Да

 

Да

Да

Да

 

Да

Да

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Описание

В качестве селектора может выступать любой тег HTML, для которого определяются правила форматирования, такие как: цвет, фон, размер и др.

Синтаксис

E { Описание правил стиля }

Здесь E имя произвольного тега. Следует понимать, что хотя стиль можно применить к любому тегу, результат будет заметен только для тегов, которые непосредственно отображаются в контейнере <BODY>.

Пример

HTML 4.01 CSS 2.1 IE 6 IE 7 IE 8 Op 9.5 Sa 3.1 Ff 2.0 Ff 3.0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Селекторы тегов</title>

<style type="text/css"> P {

text-align: justify; /* Выравнивание по ширине */ color: green; /* Зеленый цвет текста */

}

</style>

</head>

<body>

<p>Более эффективным способом ловли льва в пустыне

является метод золотого сечения. При его использовании пустыня делится на две неравные части, размер которых подчиняется правилу золотого сечения.</p>

</body>

</html>

В данном примере изменяется цвет текста и выравнивание текста параграфа. Стиль будет применяться только к тексту, который располагается внутри контейнера <P> (рис. 1).

Рис. 1. Применение стиля к селектору P

Браузеры

Internet Explorer до шестой версии включительно не поддерживает тег <ABBR>, поэтому любое добавление стиля к селектору ABBR игнорируется.

Контекстные селекторы

Internet Explorer

 

 

 

Netscape

 

 

Opera

 

 

 

Safari

 

 

 

Firefox

 

6.0

7.0

8.0

8.0

9.0

8.0

9.2

9.5

1.3

2.0

3.1

1.5

2.0

3.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ошибки

Да

Да

 

Да

 

Да

 

Да

Да

Да

 

Да

Да

Да

 

Да

Да

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Описание

При создании веб-страницы часто приходится вкладывать одни теги внутрь других. Чтобы стили для этих тегов использовались корректно, помогут селекторы, которые работают только в определенном контексте. Например, задать стиль для тега <B> только когда он располагается внутри контейнера <P>. Таким образом

можно одновременно установить стиль для отдельного тега, а также для тега, который находится внутри другого.

Синтаксис

E F { Описание правил стиля }

Здесь E это родительский тег, а F — тег, расположенный в контейнере <E>. В этом случае стиль будет применяться к тегу <F>, когда соблюдается следующий код <E><F></F></E>. Не обязательно должно быть два тега, допускается произвольный уровень вложения. При этом конструкция может записываться так: div div ul li {...}.

Пример

HTML 4.01 CSS 2.1 IE 6 IE 7 IE 8 Op 9.5 Sa 3.1 Ff 2.0 Ff 3.0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Контекстные селекторы</title>

<style type="text/css"> P B {

font-family: Times, serif; /* Семейство шрифта */ font-weight: bold; /* Жирное начертание */ color: navy; /* Синий цвет текста */

}

</style>

</head>

<body>

<div><b>Жирное начертание текста</b></div> <p><b>Одновременно жирное начертание текста и выделенное цветом</b></p>

</body>

</html>

В данном примере показано обычное применение тега <B> и этого же тега, когда он вложен внутрь абзаца <P>. При этом меняется цвет и шрифт текста, как показано на рис. 1.

Рис. 1. Использование контекстных селекторов

Браузеры

В браузере Internet Explorer версии 6 и ниже не работает комбинация контекстных селекторов и псевдокласса hover. Например, стиль для селекторов P B:hover или A:hover SPAN применяться не будет.

Дочерние селекторы

 

Internet Explorer

 

 

 

Netscape

 

 

Opera

 

 

 

Safari

 

 

 

Firefox

 

6.0

7.0

8.0

8.0

9.0

8.0

9.2

9.5

1.3

2.0

3.1

1.5

2.0

3.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

Ошибки

Да

 

Да

 

Да

 

Да

Да

Да

 

Да

Да

Да

 

Да

Да

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Описание

Дочерним называется элемент, который непосредственно располагается внутри родительского элемента. Какой элемент выступает родителем, а какой его потомком легко выяснить с помощью дерева элементов — так называется структура отношений тегов документа между собой (рис. 1).

Рис. 1. Дерево элементов

На рис. 1 в удобном виде представлена вложенность элементов и ихиерархия. Здесь дочерним элементом по отношению к тегу <DIV> выступает тег <P>. Вместе с тем тег <STRONG> не является дочерним для тега

<DIV>, поскольку он расположен в контейнере <P>.

Синтаксис

E > F { Описание правил стиля }

Стиль применяется к элементу F, только когда он является дочерним для элемента E.

Пример

HTML 4.01 CSS 2.1 IE 6 IE 7 IE 8 Op 9.5 Sa 3.1 Ff 2.0 Ff 3.0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Дочерние селекторы</title>

<style type="text/css"> UL#menu {

margin: 0; padding: 0; /* Убираем отступы */

}

UL#menu > LI {

list-style: none; /* Убираем маркеры списка */ width: 100px; /* Ширина элемента в пикселах */ background: #b3d9d2; /* Цвет фона */

color: #333; /* Цвет текста */ padding: 5px; /* Поля вокруг текста */

font-family: Arial, sans-serif; /* Рубленый шрифт */ font-size: 90%; /* Размер шрифта */

font-weight: bold; /* Жирное начертание */

float: left; /* Располагаем элементы по горизонтали */

}

LI > UL {

list-style: none; /* Убираем маркеры списка */

margin: 0; padding: 0; /* Убираем отступы вокруг элементов списка */ border-bottom: 1px solid #666; /* Граница внизу */

padding-top: 5px; /* Добавляем отступ сверху */

}

LI > A {

display: block; /* Ссылки отображаются в виде блока */ font-weight: normal; /* Нормальное начертание текста */ font-size: 90%; /* Размер шрифта */

background: #fff; /* Цвет фона */

border: 1px solid #666; /* Параметры рамки */ border-bottom: none; /* Убираем границу снизу */ padding: 5px; /* Поля вокруг текста */

}

</style>

</head>

<body>

<ul id="menu"> <li>Правка

<ul>

<li><a href="undo.html">Отменить</a></li> <li><a href="cut.html">Вырезать</a></li> <li><a href="copy.html">Копировать</a></li> <li><a href="paste.html">Вставить</a></li>

</ul>

</li> <li>Начертание

<ul>

<li><a href="bold.html">Жирное</a></li> <li><a href="italic.html">Курсивное</a></li>

<li><a href="underline.html">Подчеркнутое</a></li>

</ul>

</li> <li>Размер

<ul>

<li><a href="small.html">Маленький</a></li> <li><a href="normal.html">Нормальный</a></li> <li><a href="middle.html">Средний</a></li> <li><a href="big.html">Большой</a></li>

</ul>

</li>

</ul>

</body>

</html>

В данном примере дочерние селекторы требуются, чтобы разделить стиль элементов списка верхнего уровня и вложенные списки, которые выполняют разные задачи, поэтому стиль для них не должен пересекаться. Результат примера показан на рис. 2.

Рис. 2. Использование дочерних селекторов

Браузеры

Браузер Internet Explorer 7 не применяет стиль, если между селекторами располагается комментарий (LI > /* больше */ A).