Справочник по каскадным таблицам стилей.

Введение править

CSS (англ. Cascading Style Sheets — каскадные таблицы стилей) — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.

Цель создания CSS править

CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой веб-страницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.

Обзорная история CSS править

CSS1 править

Первая версия CSS1 была принята как рекомендация W3C 17 декабря 1996 года. Она предоставляет пользователю следующие возможности:

  • управление способом отображения элемента на странице;
  • возможность для элемента задать и запретить обтекание текстом;
  • управление размерами элемента;
  • управление внешними и внутренними отступами элемента;
  • управление вертикальным выравниванием в табличных блоках;
  • управление границами элемента: задавать стиль границы, цвет границы и ее ширину;
  • управление форматированием нумерованных и ненумерованных списков: можно задать тип маркера, возможность обтекания маркера текстом, а также применить в качестве маркера ненумерованного списка изображение;
  • возможность задавать цвет текста и цвет фона элемента;
  • возможность задавать в качестве фона элемента изображения, а также позиционирование и повторение этого изображения в фоне;
  • управление параметрами шрифта: название шрифта, размер, курсив и жирность;
  • управление свойствами текста: выравнивание, отступ первой строки, оформление (подчеркивание, курсив и т. д.). Также предусмотрена возможность изменения регистра текста;
  • управление междустрочным интервалом, а также расстоянием между словами и между буквами.

CSS2 править

12 мая 1998 года была принята как рекомендация W3C вторая версия CSS2. В CSS2 дополнительно предоставляются следующие возможности:

  • задавать направление текста в элементе (слева направо или справа налево);
  • управлять позиционированием элемента на странице;
  • задавать видимую область элемента и обрезать все остальное;
  • управлять отображением контента, который выходит за пределы размеров элемента;
  • генерировать контент до и после элемента, в том числе и автоматическая нумерация;
  • управлять внешним видом курсора;
  • управлять положением элементов по оси z (то есть возможность располагать один элемент поверх другого);
  • показывать вместо элемента пустое место;
  • задавать минимально возможные и максимально возможные размеры элемента;
  • указывать расстояние между ячейками таблицы, либо схлопывать их;
  • управлять обводкой элемента: задавать ее толщину, тип и цвет;
  • указать тип и цвет для каждой границы элемента отдельно;
  • задавать фиксированные размеры элементам таблицы;
  • управлять внешним видом кавычек, в которые оборачиваются цитаты;
  • задавать таблицы стилей для не визуальных носителей: управлять контентом при печати, а также задавать звуковое оформление контента (силу, громкость голоса, длину пауз и т. д.) для голосовых браузеров.

CSS2.1 править

8 сентября 2009 года была утверждена CSS2.1. Эта версия формировалась в течение более 10-ти лет. Создание CSS2.1 — это попытка привести спецификацию в соответствие со сложившимися реалиями:

  • исправлен ряд ошибок CSS2;
  • изменились некоторые моменты, реализация которых в подавляющем большинстве браузеров отличается от спецификации CSS2;
  • убрали особенности CSS2, которые, в силу того, что не были реализованы, были отвергнуты CSS сообществом;
  • удалили фрагменты CSS2, которые будут устаревшими в CSS3;
  • добавили некоторые новые значения свойств.

CSS3 править

Будущее, которое стало реальностью.

На момент написания статьи активно разрабатывается спецификация CSS3. Возможности, которые сулит нам CSS3 значительно превосходят предыдущие версии. Это и анимация, которая ранее ложилась на плечи скриптов, и различные скругления, тени, множественные фоны и прочие вещи, для реализации которых в CSS2 приходилось прилагать значительные усилия.

Преимущества CSS править

  1. управление отображением множества документов с помощью одной таблицы стилей;
  2. более точный контроль над внешним видом страниц;
  3. различные представления для разных носителей информации (экран, печать, и т. д.);
  4. сложная и проработанная техника дизайна.

Кроссбраузерность править

Программное обеспечение для создания CSS править

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

Правила CSS пишутся на формальном языке CSS и располагаются в таблицах стилей, то есть таблицы стилей содержат в себе правила CSS. Эти таблицы стилей могут располагаться как в самом веб-документе, внешний вид которого они описывают, так и в отдельных файлах, имеющих формат CSS. (По сути, формат CSS — это обычный текстовый файл. В файле .css не содержится ничего, кроме перечня правил CSS и комментариев к ним.)

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

  • когда таблица стилей находится в отдельном файле, она может быть подключена к веб-документу посредством тега <link>, располагающегося в этом документе между тегами <head> и </head>. (Тег <link> будет иметь атрибут href, имеющий значением адрес этой таблицы стилей). Все правила этой таблицы действуют на протяжении всего документа;
<head>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
  • когда таблица стилей находится в отдельном файле, она может быть подключена к веб-документу посредством директивы @import, располагающейся в этом документе между тегами <style> и </style> (которые, в свою очередь, располагаются в этом документе между тегами <head> и </head>) сразу после тега <style>, которая также указывает (в своих скобках, после слова url) на адрес этой таблицы стилей. Все правила этой таблицы действуют на протяжении всего документа;
<head>
  <style type="text/css" media="all">
    @import url(style.css);
  </style>
</head>
  • когда таблица стилей описана в самом документе, она может располагаться в нём между тегами <style> и </style> (которые, в свою очередь, располагаются в этом документе между тегами <head> и </head>). Все правила этой таблицы действуют на протяжении всего документа;
<head>
  <style type="text/css">
    body { 
      color: red;
    }
  </style>
</head>
  • когда таблица стилей описана в самом документе, она может располагаться в нём в теле какого-то отдельного тега (посредством его атрибута style) этого документа. Все правила этой таблицы действуют только на содержимое этого тега.
  <p style="font-size: 21px; color: green;">Рассказ о том, как вредно красить батареи</p>

В первых двух случаях говорят, что к документу применены внешние таблицы стилей, а во вторых двух случаях — внутренние таблицы стилей.

Для добавления CSS к XML-документу, последний должен содержать специальную ссылку на таблицу стилей. Например:

  <?xml-stylesheet type="text/css" href="style.css"?>

Структура CSS править

Виды селекторов править

Селекторы правила CSS могут быть:

  • селекторами элементов;
p {font-family: Garamond, serif;}
  • селекторами классов;
.note {color: red; background: yellow; font-weight: bold;}
  • селекторами идентификаторов;
#paragraph1 {margin: 0;}
  • селекторами атрибутов;
 a[href="http://www.somesite.com"]{font-weight:bold;}
  • селекторами потомков (контекстными селекторами);
div#paragraph1 p.note {color: red;}
  • селекторами дочерних элементов;
p.note > b {color: green;}
  • селекторами сестринских элементов;
h1 + p {font-size: 24pt;}
  • селекторами псевдоклассов;
a:active {color:yellow;}
  • селекторами псевдоэлементов.
p::first-letter {font-size: 32px;}
  • Также в CSS существует так называемый универсальный селектор, обозначающий любой элемент, встречающийся в документе. Например, * {color: red;}. Перед любым селектором, задающим класс или идентификатор, можно поставить знак универсального селектора, в результате получится эквивалентное выражение, например, .first {…} и *.first {…} имеют один и тот же смысл.

Свойства и их значения править

Свойство background править

Характеристики фона элемента веб-страницы

Свойство background-attachment править

Примечание:проверить работоспособность.VasjaMirnyj (обсуждение) 17:19, 11 августа 2012 (UTC)

Свойство селектора определяющее возможность перемещения фонового изображения по элементу во время перемещения данного элемента.

Значения:

  • fixed — фоновое изображение остается неподвижным на экране монитора во время скроллинга.
  • scroll — фоновое изображение перемещается по веб-странице вместе с другими элементами.(Значение по умолчанию)
  • inherit — заимствует свойство родителей.
  • local — фоновое изображение прокручивается вместе с содержимым элемента, если для элемента доступна прокрутка.

Синтаксис

CSS2.1 background-attachment: scroll;

CSS3 background-attachment: scroll, scroll;

Версия CSS

  CSS1

  CSS2

  CSS2.1

  CSS3

Значение fixed править
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Фон с изображением</title>
  <style type="text/css">
   body {
    background-attachment: fixed; /*Делает фон НЕподвижным*/
    background-repeat: no-repeat; /*Одна копия изображения не дает браузеру замостить фон одним изображением*/
    background-image: url(http://upload.wikimedia.org/wikipedia/commons/0/04/CroppedISS008-E-5604.jpg); /*Путь к изображению*/
    height: 1000px; /*Высота страницы: 1000 пикселей*/
   }
  </style>
 </head>
 <body>
  <h1>Тест</h1>
  <p>Фон с изображением</p>
 </body>
</html>
Значение scroll править
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Фон с изображением</title>
  <style type="text/css">
   body {
    background-attachment: scroll; /*Делает фон подвижным*/
    background-repeat: no-repeat; /*Одна копия изображения*/
    background-image: url(http://upload.wikimedia.org/wikipedia/commons/0/04/CroppedISS008-E-5604.jpg); /*Путь к изображению*/
    height: 1000px; /*Высота страницы 1000 пикселей*/
   }
  </style>
 </head>
 <body>
  <h1>Тест</h1>
  <p>Фон с изображением</p>
 </body>
</html>
Значение inherit править
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Фон с изображением</title>
  <style type="text/css">
   body {
    background-attachment: scroll; /*Изучаемое свойство*/
    background-repeat: no-repeat; /*Одна копия изображения*/
    background-image: url(http://upload.wikimedia.org/wikipedia/commons/0/04/CroppedISS008-E-5604.jpg); /*Путь к изображению*/
    height: 1000px; /*Высота страницы 1000 пикселей*/
   }
   div {/*Слой внутри браузер*/
    background-attachment: inherit; /*Изучаемое свойство*/
    background-repeat: no-repeat; /*Одна копия изображения*/
    background-image: url(http://upload.wikimedia.org/wikipedia/commons/0/04/CroppedISS008-E-5604.jpg); /*Путь к изображению*/
    height: 1000px; /*Высота страницы 1000 пикселей*/
    margin:100px;/*Отступ слоя от окна браузера*/
   }
  </style>
 </head>
 <body>
  <div>
   <h1>Тест</h1>
   <p>Фон с изображением</p>
  </div>
 </body>
</html>
Значение local править

Свойство background-clip править

Определяет пространство занимаемое фоном или фоновым изображением.

Значения:

  • padding-box — фон или фоновое изображение внутри границ элемента веб-страницы.(Значение по умолчанию)
  • border-box — фон или фоновое изображение занимают внутреннее пространство и границы элемента.
  • content-box — фон внутри элемента.

Синтаксис

background-clip: padding-box;

Версия CSS

  CSS1

  CSS2

  CSS2.1

  CSS3

Значение padding-box править
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Фон с изображением</title>
  <style>
   p {
    background-clip:padding-box;/*Фон занимает элемент и отступ от элемента(padding)*/
    background-color:#006699;/*Цвет фона*/
    padding: 20px;/*Отступ от элемента до границы тогоже элемента*/
    border-width: 3px;/*Толщина границы*/
    border-style:dashed;/*Граница элемента пунктиром*/
   }
  </style>
 </head>
 <body>
  <p>Пространство занимаемое фоном.</p>
 </body>
</html>

Пространство занимаемое фоном.

Значение border-box править
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Фон с изображением</title>
  <style>
   p {
    background-clip:border-box;/*Фон занимает элемент и отступ от элемента(padding) и границу элемента(border)*/
    background-color:#006699;/*Цвет фона*/
    padding: 20px;/*Отступ от элемента до границы тогоже элемента*/
    border-width: 3px;/*Толщина границы*/
    border-style:dashed;/*Граница элемента пунктиром*/
   }
  </style>
 </head>
 <body>
  <p>Пространство занимаемое фоном.</p>
 </body>
</html>

Пространство занимаемое фоном.

Значение content-box править
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Фон с изображением</title>
  <style>
   p {
    background-clip:content-box;/*Фон занимает элемент(width и height)*/
    background-color:#006699;/*Цвет фона*/
    padding: 20px;/*Отступ от элемента до границы тогоже элемента*/
    border-width: 3px;/*Толщина границы*/
    border-style:dashed;/*Граница элемента пунктиром*/
   }
  </style>
 </head>
 <body>
  <p>Пространство занимаемое фоном.</p>
 </body>
</html>

Пространство занимаемое фоном.

Свойство background-color править

Задаёт цвет фона.

Значения:

  • transparent — задаёт прозрачный фон. (Значение по умолчанию)
  • inherit — наследует значение у родителя.
  • #006699 — значение цвета в шестнадцатеричной системе исчисления.
  • red — по названию.
  • rgb(214,86,43) — при помощи RGB.
  • rgba(255,255,255,.9) — при помощи RGBA.
  • hsl(60,100 %,25 %) — при помощи HSL.
  • hsla(120,100 %,50 %,0.1) — при помощи HSLA.

Синтаксис

background-color: transparent;

Версия CSS

  CSS1

  CSS2

  CSS2.1

  CSS3

Свойство background-image править

Указывает путь к файлу фонового изображения.

Если одновременно заданы два свойства: background-image и background-color. То в начале устанавливается цвет фона, пока загружается изображение.

Значения:

  • url() — в скобках указывают путь к файлу.
  • none — элемент не содержит фонового изображения. (Значение по умолчанию)
  • inherit — наследует значение у родителя.

Синтаксис

CSS2.1 background-image: url(http://upload.wikimedia.org/wikipedia/commons/0/04/CroppedISS008-E-5604.jpg);

CSS3 background-image: url(http://upload.wikimedia.org/wikipedia/commons/0/04/CroppedISS008-E-5604.jpg), url(http://upload.wikimedia.org/wikipedia/commons/3/3d/Circ-terre.JPG);

Версия CSS

  CSS1

  CSS2

  CSS2.1

  CSS3

Свойство background-position править

Свойство background-repeat править

Свойство background-size править

Свойство border править

Свойство bottom править

Свойство box-shadow править

Свойство box-sizing править

Свойство caption-side править

Свойство clear править

Свойство clip править

Свойство color править

Свойство columns править

Свойство cursor править

Свойство direction править

Свойство display править

Свойство empty-cells править

Свойство float править

Свойство font править

Свойство height править

Свойство left править

Свойство letter-spacing править

Свойство line-height править

Свойство list-style править

Свойство margin править

Свойство max-height править

Свойство max-width править

Свойство min-height править

Свойство min-width править

Свойство opacity править

Свойство orphans править

Свойство outline править

Свойство overflow править

Свойство padding править

Свойство page-break-after править

Свойство page-break-before править

Свойство page-break-inside править

Свойство position править

Свойство quotes править

Свойство resize править

Свойство right править

Свойство tab-size править

Свойство table-layout править

Свойство text-align править

Свойство text-decoration править

Свойство text-indent править

Свойство text-overflow править

Свойство text-shadow править

Свойство text-transform править

Свойство top править

Свойство transform править

Свойство unicode-bidi править

Свойство vertical-align править

Свойство visibility править

Свойство white-space править

Свойство widows править

Свойство width править

Свойство word-spacing править

Свойство word-wrap править

Свойство writing-mode править

Свойство z-index править

Вёрстка править

Приложения править

Валидация править

Сервисы править