CSS слои

Концепция слоя или уровня была разработана и впервые предложена компанией Netscape, их тэги <LAYER и <ILAYER>были во многом похожи на <FRAME>и <IFRAME>. Однако со временем им на замену пришло и практически полностью вытеснило оригинальное решение от Microsoft. Было предложено рассматривать отдельные блоки текста, в тэгах <SPAN>или <DIV>как слои, организовав управление ими при помощи их свойств.

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


Абсолютное позиционирование

Как и любое другое свойство, свойство Positionзадается при помощи таблиц стилей CSS.
Синтаксис: {position: absolute}
Оно может принимать следующие значения:

  • position:absolute означает, что позиционирование слоя будет происходить относительно левого верхнего угла страницы.
  • position:relative означает, что позиционирование слоя будет происходить относительно того места, где в исходном тексте он находится, то есть относительно предыдущего элемента.
  • position:static означает, что позиционирование слоя будет происходить относительно фона.

Горизонтальное позиционирование

Позиционирование по горизонтали задается свойством left,путем задания отступа по оси Xлевого верхнего угла слоя относительно точки отсчета, которая определяется свойством Position
Синтаксис: {left: значение}
задается:

  • npx
  • n%
  • auto

Вертикальное позиционирование

Позиционирование по вертикали задается свойством top, атрибут позволяет задать Y-координату левого верхнего угла слоя относительно точки отсчета, которая определяется свойством Position
Синтаксис: {top: значение}
задается:

  • npx
  • n%
  • auto

Задание высоты слоя

height, это свойство позволяет задать высоту слоя в окне браузера:
Синтаксис: {height: значение}
задается:

  • npx
  • n%
  • auto

Задание ширины слоя

width, это свойство позволяет задать ширину слоя в окне браузера:
Синтаксис: {width: значение}
задается:

  • npx
  • n%
  • auto

Позиционирование в глубину

z-index,это свойство позволяет задать порядок перекрытия слоями друг друга, при этом слой с более высоким индексом будет располагаться над слоем с низким индексом. В случае, если атрибут не задан специально, браузер присваивает более высокий индекс слою, который в исходном коде описан позже:
Синтаксис: {z-index: 2}

  • auto
  • порядковый номер

Управление видимостью

visibility,это свойство позволяет задать видимость слоя, присвоив ему одно из значений:
Синтаксис: {visibility: inherit}

  • inherit
  • hidden
  • visible

display,это свойство позволяет задать видимость слоя, визуально отличается от visibilityтем, что сдвигает предыдущий и последующий слои вместе:
Синтаксис: {display: none}

  • inline
  • list-item
  • none
  • block

При кажущемся сходстве свойств слоя visibilityи displayработают они по разному.

overflow,это свойство позволяет задать, как выглядит текст, переполнивший границы слоя, присвоив ему одно из значений:
Синтаксис: {overflow: none}

  • none
  • clip
  • scroll

Понятие прозрачности слоя

Поскольку слойна самом деле представляет собой блок содержимого, заключенный в тэгах <SPAN>или <DIV>, то при помощи таблиц стилей CSSможно отформатировать его любым из доступных способов: наложить фильтр, задать фоновый цвет или рисунок, задать стили включенным тэгам. Тогда, если слой не будет иметь фоновый цвет или рисунок мы сможем увидеть сквозь него содержимое того слоя, над которым он позиционирован, подобного можно достичь, вставив рисунок .gif, у которого один из цветов прозрачный. Используя данное свойство легко можно добиться интересных эффектов, недоступных другими способами, что в целом улучшает внешний вид и эстетическое восприятие содержимого.


Наложение слоев

Одно из самых интересных способов применений свойств слоя, является одновременное оперирование позиционированием сразу для двух слоев и более. Задав в каждом слое свойствам Positionзначение absoluteи варьируя значения свойств left, top, height, widthи z-indexмы получим интересный эффект наложения слоев друг на друга, частичного или полного перекрытия содержимого.