основы CSS
.pdfМножественные классы
Вы хотите, чтобы все элементы, атрибут class которых имеет значение warning, были выделены полужирным шрифтом, те элементы, атрибут class которых имеет значение urgent, были выделены курсивом, а элементы, имеющие оба значения, получили серебряный фон. Это могло бы быть написано следующим образом:
.warning { font-weight: bold; }
.urgent { font-style: italic; }
.warning.urgent { background: silver; } p.warning.help { background: red;}
<p class="urgent warning"> При работе с плутонием необходимо предпринять меры по недопущению достижения критической массы.</p> <p>При работе с плутонием <span class="warning">существует реальная возможность взрыва, которую надо избежать любой ценой </span>.
Это может быть достигнуто путем разделения масс.<span class="urgent">Планк. </span></p>
Селекторы идентификаторов
В некотором смысле селекторы идентификаторов аналогичны селекторам классов, но есть несколько существенных отличий. Во первых, перед селекторами идентификаторов вместо точки ставится «решетка» (#), называемая также знаком фунта, диезом и даже полем для игры в крестики нолики.
Второе отличие – вместо значений атрибута class в селекторах идентификаторов, что и не удивительно, используются значения атрибутов id. Вот пример селектора идентификатора в действии:
*#leadpara {font weight: bold;}
<p id="leadpara"> Этот параграф будет выделен полужирным шрифтом.</p>
<p> Этот параграф НЕ будет выделен полужирным шрифтом.</p>
Выбор между селектором классов и селектором идентификаторов
Как было показано ранее, назначать классы можно любому количеству элементов; имя класса warning было применено и к элементу <p>, и к элементу <span> и могло бы применяться к намного большему количеству элементов. С другой стороны, идентификаторы в HTML документе используются один и только один раз. Поэтому если в документе есть элемент, значение атрибута id которого равно lead para, ни один дру гой элемент этого документа не может иметь id со значением lead para.
В отличие от селекторов класса, селекторы идентификаторов не могут объединяться, поскольку в атрибуты id нельзя помещать разделенные пробелами списки.
Еще одно отличие между именами class и id состоит в том, что идентификаторы имеют больший вес, когда определяется, какие стили должны применяться к данному элементу.
Пример:
#header { float: left; width: 100%; height: 58px;
}
#header .contacts .address { padding-left: 13px;
}
<div id="header">
<div class="contacts">
<p class="phone">8(812)777-77-77</p>
<p class="address">Гражданский пр.</p> </div>
</div>
Селекторы атрибутов
Для того чтобы выбрать элементы с определенным атрибутом независимо от значения этого атрибута, можно обратиться к простому селектору атрибутов. Например, чтобы выбрать все элементы h1, имеющие атрибут class с любым значением, и сделать их текст серебряным, на Пишите:
h1[class] {color: silver;}
Итак, следующая разметка даст выделение текста серебром для всех классов:
<h1 class="hoopla">Hello</h1> <h1 class="severe">Serenity</h1> <h1 class="fancy">Fooling</h1>
Выбор атрибутов
Для того чтобы выбрать все элементы planet с атрибутом moons (луны) и выделить их полужирным шрифтом, обращая внимание на любую планету, имеющую естественные спутники, можно написать:
planet[moons] {font-weight: bold;}
Это приведет к тому, что в следующем фрагменте разметки текст вто рого и третьего элементов, но не первого, будет выделен полужирным Шрифтом:
<planet>Venus</planet>
<planet moons="1">Earth</planet> <planet moons="2">Mars</planet>
Выбор атрибутов
Также можно осуществлять выбор на основании наличия нескольких атрибутов. Это делается путем простого объединения селекторов атрибутов. Например, чтобы выделить полужирным шрифтом текст любой гиперссылки HTML, которая имеет и атрибут href, и атрибут title, можно написать:
a[href][title] {font-weight: bold;}
При этом полужирным шрифтом будет выделена первая ссылка следующей разметки, но не вторая или третья:
<a href="http://www.w3.org/" title="W3C Home">W3C</a><br /> <a href="http://www.webstandards.org">Standards Info</a><br />
<a title="Not a link">dead.letter</a>
Выбор на основании конкретного значения атрибута
Для любого элемента может быть определено любое сочетание атрибута и значения. Однако если эта конкретная комбинация не встречается в документе, селектор не выберет ничего.
Предположим, требуется выбрать только те элементы planet, значение атрибута moons которых равно 1:
planet[moons="1"] {font weight: bold;} a[href="http://www.css discuss.org/about.html"] {font weight: bold;}
При этом полужирным шрифтом будет выделен текст второго элемента следующего фрагмента разметки, но не первого или третьего:
<planet>Venus</planet>
<planet moons="1">Earth</planet> <planet moons="2">Mars</planet>
Выбор по частичному значению атрибута
Скажем, требуется выбрать элементы, атрибут class которых содержит слово warning. Это можно сделать посредством селектора атрибутов:
p[class~="warning"] {font-weight: bold;}
<p class="warning cold"> Мороз и солнце день
чудесый </p>
Обратите внимание на наличие в селекторе тильды (~). Это ключ для осуществления выбора на основании наличия в значении атрибута от деленного пробелами слова. Если пропустить тильду, то получится требование точного соответствия конкретному значению.
Применение стилей
Установка шрифта с помощью стилей
<html>
<head>
<style type="text/css">
BODY
{
font-family: 'Times New Roman', Times, serif; font-size: 100%
}
TD
{
font-family: Arial, sans-serif; font-size: 90%;
font-weight: bold
}
HI, H2, H3
{
font-family: Verdana, Tahoma, Arial, sans-serif
}
</style>
</head>
<body>
</body>
</html>