bottom
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
CSS свойство bottom
частично определяет вертикальную позицию позиционируемого элемента. Оно не влияет на непозиционируемые элементы (т.е. bottom
не применится, если задано position: static
).
Интерактивный пример
Эффект свойства bottom
зависит от того, как позиционируется элемент (то есть от значения свойства position
):
- Когда задано
position: absolute
илиfixed
— свойствоbottom
устанавливает расстояние между нижним краем элемента и нижним краем содержащего его блока. - Когда задано
position: relative
— свойствоbottom
устанавливает расстояние, на которое нижний край элемента перемещается выше его обычной позиции. - Когда задано
position: sticky
— свойствоbottom
работает так, как приposition: relative
во время нахождения элемента внутри области просмотра, и какposition: fixed
вне области просмотра. - Когда задано
position: static
— свойствоbottom
не имеет никакого эффекта.
Когда заданы оба свойства top
и bottom
, а свойство height
не задано, auto
или равно 100%
, то оба свойства top
и bottom
учитываются. Если свойство height
задано, то свойство top
будет учтено, а bottom
— проигнорировано.
Синтаксис
/* Ключевые слова */
bottom: auto;
/* Значения величин */
bottom: 3px;
bottom: 2.4em;
/* Процентные значения от высоты родительского блока */
bottom: 10%;
/* Глобальные значения */
bottom: inherit;
bottom: initial;
bottom: unset;
Значения
<length>
-
Отрицательная, нулевая или положительная величина, которая представляет:
- для абсолютно позиционируемых элементов &mdash расстояние до нижнего края содержащего их блока;
- для относительно позиционируемых элементов &mdash расстояние, на которое элемент смещается вверх, относительно своего положения в нормальном потоке.
<percentage>
-
Процент от высоты родительского блока.
auto
-
Ключевое слово, которое указывает, что:
- для абсолютно спозиционированных элементов — позиция элемента опирается на свойство
top
, покаheight: auto
обрабатывается как высота в зависимости от содержимого; если так же иbottom: auto
, то элемент располагается так же, как при статическом позиционировании. - для относительно спозиционированных элементов — расстояние элемента от его обычной позиции основано на свойстве
top
; если значениеtop
такжеauto
, элемент вообще не перемещается по вертикали.
- для абсолютно спозиционированных элементов — позиция элемента опирается на свойство
inherit
-
Это ключевое слово указывает, что значение будет соответствовать вычисленному значению родительского блока (необязательно непосредственного родителя). Вычисляемое значение обрабатывается так же, как
<length>
,<percentage>
или ключевое словоauto
.
Формальный синтаксис
bottom =
auto |
<length-percentage> |
<anchor()> |
<anchor-size()>
<length-percentage> =
<length> |
<percentage>
<anchor()> =
anchor( <anchor-name>? &&
<anchor-side> , <length-percentage>? )
<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )
<anchor-name> =
<dashed-ident>
<anchor-side> =
inside |
outside |
top |
left |
right |
bottom |
start |
end |
self-start |
self-end |
<percentage> |
center
<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline
Пример
Этот пример демонстрирует разницу в поведении свойства bottom
, когда position
является absolute
и fixed
.
HTML
<h2>Эксперимент</h2>
<p>
Здесь<br />мы<br />набираем<br />побольше<br />высоты<br />для<br />вящей<br />наглядности<br />нашего<br />скромного,<br />но<br />очень<br />убедительного<br />эксперимента.<br />-
Вот.
</p>
<div class="fixed"><p>Я фиксирован</p></div>
<div class="absolute"><p>Я абсолютен</p></div>
CSS
p {
font-size: 30px;
line-height: 2em;
}
div {
width: 48%;
text-align: center;
background: rgba(55, 55, 55, 0.4);
border: 1px solid blue;
}
.absolute {
position: absolute;
bottom: 0;
left: 0;
}
.fixed {
position: fixed;
bottom: 0;
right: 0;
}
Результат
Характеристики
Specification |
---|
CSS Positioned Layout Module Level 3 # insets |
Совместимость с браузерами
BCD tables only load in the browser