CSS Макет - Свойство position
Свойство position
указывает тип метода позиционирования, используемого для элемента (статический, относительный, фиксированный, абсолютный или закрепленный - static, relative, fixed, absolute или sticky).
Свойство position
Свойство position
определяет тип метода позиционирования, используемого для элемента.
Есть пять разных значений position (позиции):
static
- статическийrelative
- относительныйfixed
- фиксированныйabsolute
- абсолютныйsticky
- закреплённый
Затем элементы располагаются с использованием свойств top, bottom, left и right. Однако эти свойства не будут работать, если сначала не установлено свойство position
. Они также работают по-разному в зависимости от значения position.
position: static;
HTML-элементы по умолчанию расположены статически.
На статические элементы не влияют свойства top, bottom, left и right.
Элемент с position: static;
не позиционируется каким-либо особым образом; он всегда располагается в соответствии с обычным потоком страницы:
Вот CSS, который используется:
position: relative;
Элемент с position: relative;
позиционируется относительно своего нормального положения.
Установка свойств top, right, bottom и left относительно позиционированного элемента приведет к его отклонению от его нормального положения. Другое содержимое не будет откорректировано, чтобы вписаться в любой пробел, оставленный элементом.
Вот CSS, который используется:
position: fixed;
Элемент с position: fixed;
располагается относительно области просмотра, что означает, что он всегда остается на том же месте, даже если страница прокручивается. Свойства top, right, bottom и left используются для позиционирования элемента.
Фиксированный (fixed) элемент не оставляет пробела на странице, где он обычно находился бы.
Обратите внимание на фиксированный элемент в правом нижнем углу данной страницы. Вот CSS, который используется:
Пример
div.fixed {
position: fixed;
bottom: 0;
right: 0;
width:
300px;
border: 3px solid #73AD21;
}
Попробуйте сами »
position: fixed;
position: absolute;
Элемент с position: absolute;
позиционируется относительно ближайшего позиционированного предка (вместо позиционирования относительно окна просмотра, как фиксированный).
Однако, если элемент с абсолютным позиционированием не имеет позиционированных предков, он использует тело документа и перемещается вместе с прокруткой страницы.
Примечание: "Позиционируемый" элемент - это тот, чья позиция что угодно, кроме static
.
Вот простой пример:
Вот CSS, который используется:
Пример
div.relative {
position: relative;
width: 400px;
height: 200px;
border: 3px solid #73AD21;
}
div.absolute {
position: absolute;
top: 80px;
right: 0;
width: 200px;
height: 100px;
border: 3px solid #73AD21;
}
Попробуйте сами »
position: sticky;
Элемент с position: sticky;
(прикреплённый) позиционируется на основе позиции прокрутки пользователя.
Элемент sticky переключается между relative
и fixed
, в зависимости от положения прокрутки. Он позиционируется относительно до тех пор, пока в окне просмотра не будет достигнута заданная позиция смещения, а затем он "закрепится" на месте (например, position:fixed).
Примечание: Internet Explorer, Edge 15 и более ранние не поддерживают position: sticky. Safari требует -webkit-prefix (см. пример ниже). Вы также должны указать хотя бы одно из значений: top
, right
, bottom
или left
для работы sticky позиционирования.
В этом примере sticky элемент придерживается верхней части страницы (top: 0
), когда вы достигнете своей позиции прокрутки.
Пример
div.sticky {
position: -webkit-sticky; /* Safari */
position:
sticky;
top: 0;
background-color: green;
border: 2px solid #4CAF50;
}
Попробуйте сами »
Перекрывающиеся элементы
Когда элементы располагаются на странице, они могут перекрывать другие элементы.
Свойство z-index
определяет порядок стека элемента (какой элемент должен быть расположен перед или позади других, т.е. какой элемент перекрывает другой).
Элемент может иметь положительный или отрицательный порядок в стеке:
Это заголовок
Поскольку изображение имеет z-index -1, оно будет помещено за текстом, т.е. текст будет находится сверху изображения.
Элемент с более высоким порядком стека всегда находится перед элементом с более низким порядком стека.
Примечание: Если два позиционированных элемента перекрываются без указания z-index
, элемент, расположенный последним в HTML коде, будет показан сверху.
Позиционирование текста в изображении
Как разместить текст поверх изображения:
Пример
Попробуйте сами:
Вверху слева » Вверху справа » Снизу слева » Снизу справа » По центру »Больше примеров
Установить форму элемента
Этот пример демонстрирует, как установить форму элемента. Элемент обрезается до этой формы и отображается.
Проверьте себя с помощью упражнений!
Все CSS свойства позиционирования
Свойство | Описание |
---|---|
bottom | Устанавливает нижний край поля для позиционированного блока |
clip | Закрепляет абсолютно позиционированный элемент |
left | Устанавливает край левого поля для позиционированного блока |
position | Определяет тип позиционирования для элемента |
right | Устанавливает правый край поля для позиционированного блока |
top | Устанавливает верхний край поля для позиционированного блока |
z-index | Устанавливает порядок стека элемента |