Синтаксис Синтаксис CSS состоит из трех частей: селектора, свойства и значения:
селектор {свойство: значение}
Селектор — элемент/тег HTML, который необходимо определить. Свойство — атрибут, который желательно изменить. Каждое свойство может принимать значение. Существует ряд правил и рекомендаций, которые необходимо запомнить.
- Свойство и значение разделяются двоеточием и помещаются внутри фигурных скобок:
p {font-size: 75%}
- Если значение состоит из нескольких слов, то необходимо поместить значение в кавычки:
h1 {font-family: "lucida calligraphy"}
- Если требуется определить более одного свойства, то необходимо разделить свойства точкой с запятой:
table { font-family: arial, "sans serif"; border-style: dotted}
- Чтобы определения стилей было удобно читать, можно каждое свойство писать на отдельной строке:
h2
{
font-family: arial;
margin-right: 20pt;
color:#ffffff }
- При определении правил допускается группировка селекторов, при этом в качестве разделителя селекторов используется запятая. В следующем примере в группу были объединены все элементы абзацев, таблиц и списков. Все эти элементы будут выведены шрифтом sans serif:
p,table,li
{
font-family: "sans serif";
}
Селектор класса (class)
При Web-разработке часто возникает необходимость в задании различных стилей для одного и того же типа элемента HTML. Для решения этой задачи используют селектор класса.
Предположим, что в документе требуется два типа заголовков: более крупный заголовок должен иметь внешний отступ 10 пунктов, а второй — 20 пунктов. Вот как это можно сделать с помощью стилей:
h1.stepleft {margin-left: 10pt}
h2.stepright {margin-left: 20pt}
Для применения этих стилей в документе HTML необходимо будет использовать атрибут класс:
<h1 class="stepleft">
Заголовок с внешним отступом 10 пунктов.
</h1>
<h2 class="stepright">
Заголовок с внешним отступом 20 пунктов.
</h2>
В тоже время не допускается следующее определение атрибута class:
< h1 class="stepleft" h2 class="stepright">,
т.е. можно определить только один атрибут class
Можно также опустить имя тега в селекторе, чтобы определить стиль, который будет использоваться всеми элементами HTML, имеющими определенный class.
.left {margin-left: 40pt}
В следующем примере все элементы HTML, имеющие class="left", будут иметь внешний отступ, равный 40 пунктам.
В следующем коде элементы table и p имеют class="left". Это означает, что оба элемента будут следовать правилам в селекторе ".left":
<table class="left">
Эта таблица будет иметь внешний отступ, равный 40 пунктам.
</table>
<p class="left">
Этот параграф будет иметь внешний отступ, равный 40 пунктам.
</p>
Для корректности обработки кода браузерами не рекомендуется начинать имя класса с числа, т.к. это не будет работать в Mozilla/Firefox.
Селектор идентификатора (id)
Стили элементов HTML можно определить также с помощью селектора идентификатора, который определяется символом #.
Следующее правило стиля будет применимо к элементу, который имеет атрибут id со значением "fontsz":
#fontsz{font-size: 50%}
Следующее правило стиля будет применимо к элементу ul, который имеет атрибут id со значением "first":
ul#first
{
list-style: disc;
color: #ffffff
}
Для корректности обработки кода браузерами не рекомендуется начинать имя ID с числа, т.к. это не будет работать в Mozilla/Firefox.
Комментарии CSS
Для пояснения кода и для последующего его редактирования используются комментарии, которые игнорируются браузерами. Комментарий CSS начинается символом "/*" и заканчивается символом "*/", как в примере ниже:
/* Первый комментарий. */
table
{
/* Второй комментарий. */
margin-left: 10pt;;
font-family: "sans serif"
/* Третий комментарий. */
border-style:outset;
}
Примеры использования CSS
Рассмотрим несколько примеров использования CSS:
- Технология CSS позволяет связываться с внешней таблицей стилей. Для этого в файле HTML применяют тег <link>:
<html>
<head>
<link rel="stylesheet" type="text/css"
style="color:#666666;" href="/external/?popup=0&url=http%3A%2F%2Fwww.intuit.ru%2Fimage%2Fstyle.css" onMouseOver="menuSetHelpText('intuit');return false;" onMouseOut="menuClearHelpText()" title="ссылка на INTUIT.ru">
</head>
<body>
<ol><!—Список имеет внешний отступ в 10 пунктов -->
<li>для этого элемента списка будет задан шрифт "arial"</li>
<li>для этого элемента списка будет задан шрифт "arial"</li>
</ol>
<ul><!—Список имеет внешний отступ в 20 пунктов -->
<li>для этого элемента списка будет задан шрифт "arial"</li>
<li>для этого элемента списка будет задан шрифт "arial"</li>
</ul>
</body>
</html>
Внешний файл содержит следующее описание стилей (style.css):
ol {margin-left: 10pt}
ul {margin-right: 20pt}
li {font-family: arial}
Следующий файл HTML связывается с внешней таблицей стилей с помощью тега <link>:
<html>
<head>
<link rel="stylesheet" type="text/css"
style="color:#666666;" href="/external/?popup=0&url=http%3A%2F%2Fwww.intuit.ru%2Fimage%2Fstyle2.css" onMouseOver="menuSetHelpText('intuit');return false;" onMouseOut="menuClearHelpText()" title="ссылка на INTUIT.ru">:
</head>
<body>
<table>
<tr>
<td>Ячейка 1</td>
<td>Ячейка 2</td>
</tr>
</table>
<a style="color:#666666;" href="/external/?popup=0&url=http%3A%2F%2Fwww.intuit.ru" onMouseOver="menuSetHelpText('intuit');return false;" onMouseOut="menuClearHelpText()" title="ссылка на INTUIT.ru">Здесь размещена ссылка</a>
</body>
</html>
Внешний файл содержит следующее описание стилей (style2.css):
body {background-color: #FFFFFF)}
table {margin-left: 10pt;}
td {font-size:10pt; color: blue}
a:link {color:blue}
a:visited {color:brown}
a:hover {color:lime}
a:active {color:gray}.
Подключение таблицы стилей
Когда браузер считывает таблицу стилей, он форматирует документ согласно с этой таблицей. Существует три способа подключения таблицы стилей.
- Подключение внешней таблицы стилей
Этот способ обычно применяется в ситуациях, когда один стиль определяется для множества страниц. Если необходимо быстро поменять дизайн Web-сайта этот способ идеально подходит – редактируется только один файл с таблицей стилей. Для подключения внешней таблицы стилей предназначен тег <link>, который размещается в разделе заголовка:
<head>
<link rel="stylesheet" type="text/css"
href="first.css" />
</head>
Данный код указывает браузеру на то, что определение стиля хранятся в файле first.css. Последний, в свою очередь, выполнит форматирование документа согласно с этим определением стиля.
Некоторые замечания:
- внешнюю таблицу стилей можно создать в любом текстовом редакторе;
- файл с внешней таблицей стилей не должен содержать никаких тегов html;
- файл с внешней таблицей стилей необходимо сохранить с расширением .css.
Пример:
ul {margin-left: 10pt}
li {font-family: arial}
body {background-color: blue}
Для корректности отображения браузерами таблиц стилей необходимо исключить пробелы между значением свойства и единицами измерения, т.к. это будет работать правильно только в IE6, но не в Mozilla/Firefox или Netscape.
Пример с пробелом — "margin-left: 20 px";
пример без пробела — "margin-left: 20px".
- Подключение внутренней таблицы стилей
Данный способ применяется тогда, когда один документ имеет уникальный стиль. Для определения внутренних стилей используют тег <style>, который размещается в разделе заголовка:
<head>
<style type="text/css">
li {font-family: arial}
p {font-size: 25%}
h1 {margin-right: 10pt}
</style>
</head>
В соответствии с определениями стиля браузер форматирует документ. Однако если он встретит незнакомые теги, то проигнорирует их. Например, старый браузер, который не поддерживает стили, проигнорирует тег <style>, но содержимое последнего будет выведено на странице. Чтобы этого не произошло, необходимо скрыть описание стиля в элементе комментария HTML:
<head>
<style type="text/css">
<!--
body {background-color: green}
table {border-style: dotted}
-->
</style>
</head>
- Встроенные стили
Данный способ используется в том случае, если необходимо применить стиль к одному появлению элемента. Метод обладает существенным недостатком, т.к. он смешивает содержимое документа с его представлением и теряет, соответственно, многие преимущества таблиц стилей.
Для определения встроенных стилей в соответствующем теге применяют атрибут style, который может содержать любое свойство CSS.
Пример:
<body style="background-color: blue" >
<h1 style="color: yellow" >Заголовок H1</h1>
</body>
В примере показано, как задать цвет фона документа и цвет заголовка h1.
Несколько таблиц стилей
В случае объединения или использования нескольких таблиц стилей могут возникнуть ситуации, когда некоторые свойства заданы для одного и того же селектора в разных таблицах стилей; тогда будут использованы значения из более конкретной таблицы стилей.
Например, внешняя таблица стилей имеет следующие свойства для селектора p:
p
{
font-family: "sans serif";
margin-left: 10pt;
font-style: italic;
font-weight: bold
}
А внутренняя таблица стилей имеет для селектора p следующие свойства:
p
{
margin-left: 20pt;
font-style: normal;
font-weight: bolder
}
Итак, при соединении внешней таблицы стилей с внутренней для селектора p будут определены следующие свойства:
font-family: "sans serif";
margin-left: 20pt;
font-style: normal;
font-weight: bolder
Таким образом, тип шрифта будет наследоваться из внешней таблицы стилей, а его стиль, вес и внешний отступ параграфа определяются внутренней таблицей стилей.
|