право
Базовая Широко доступная
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Свойство right CSS участвует в определении горизонтального положения расположенного элемента. Это свойство inset не оказывает влияния на элементы, не имеющие позиционирования.
Попробовать
Синтаксис
/* <length> values */ right: 3px; right: 2.4em; right: calc(anchor(left) + 10px); right: anchor(--myAnchor 50%); /* <percentage>s of the width of the containing block */ right: 10%; /* Keyword value */ right: auto; /* Global values */ right: inherit; right: initial; right: revert; right: revert-layer; right: unset;
Значения
<length>-
Отрицательная, нулевая или положительная
<length>, представляющая:- для абсолютно расположенных элементов, расстояние до правого края содержащего блока.
- для элементов с позиционированием по якорю, функция
anchor()преобразуется в значение<length>, относительное к положению левого или правого края связанного элемента-якоря. - для относительно расположенных элементов, расстояние, на которое элемент смещен влево от его нормального положения.
<percentage>-
Процент от ширины содержащего блока.
auto-
Указывает, что:
- для абсолютно расположенных элементов, положение элемента основано на свойстве
left, в то время какwidth: autoрассматривается как ширина, основанная на содержании; или еслиleftтакжеauto, элемент размещается там, где он должен быть горизонтально расположен, если бы он был статическим элементом. - для относительно расположенных элементов, расстояние элемента от его нормального положения основано на свойстве
left; или еслиleftтакжеauto, элемент вообще не смещается по горизонтали.
- для абсолютно расположенных элементов, положение элемента основано на свойстве
inherit-
Указывает, что значение такое же, как вычисленное значение родительского элемента (который может не быть его содержащим блоком). Это вычисленное значение затем обрабатывается так, как если бы оно было
<length>,<percentage>или ключевым словомauto.
Описание
Эффект right зависит от того, как позиционирован элемент (то есть от значения свойства position):
- Когда
positionустановлено вabsoluteилиfixed, свойствоrightопределяет расстояние между внешним отступом правого края элемента и внутренним полем правого края его содержащего блока. Если у расположенного элемента есть связанный элемент-якорь, и значение свойства включает функциюanchor(),rightпозиционирует правый край расположенного элемента относительно указанного<anchor-side>края. Свойствоrightсовместимо со значениямиleft,right,start,end,self-start,self-end,center, и<percentage>. - Когда
positionустановлено вrelative, свойствоrightопределяет расстояние, на которое правый край элемента смещается влево от его нормального положения. - Когда
positionустановлено вsticky, свойствоrightиспользуется для вычисления прямоугольника привязки. - Когда
positionустановлено вstatic, свойствоrightне оказывает никакого влияния.
Когда определены как left, так и right, если другие свойства не препятствуют этому, элемент будет растягиваться, чтобы удовлетворить оба условия. Если элемент не может растянуться, чтобы удовлетворить оба условия — например, если объявлено width, — положение элемента считается переопределённым. В этом случае значение left имеет приоритет, если направление контейнера слева направо; значение right имеет приоритет, если направление контейнера справа налево.
Формальное определение
| Начальное значение | auto |
|---|---|
| Применяется к | позиционируемым элементам |
| Наследуется | нет |
| Проценты | относятся к ширине содержащего блока |
| Вычисленное значение | если указано как длина, соответствующая абсолютная длина; если указано как процент, указанное значение; в противном случае, auto
|
| Тип анимации | длина, процент или calc(); |
Формальный синтаксис
right =
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
Примеры
Абсолютное и относительное позиционирование с использованием right
HTML
<div id="relative">Relatively positioned</div> <div id="absolute">Absolutely positioned</div>
CSS
#relative {
width: 100px;
height: 100px;
background-color: #ffc7e4;
position: relative;
top: 20px;
left: 20px;
}
#absolute {
width: 100px;
height: 100px;
background-color: #ffd7c2;
position: absolute;
bottom: 10px;
right: 20px;
}
Результат
Объявление как left, так и right
Когда объявлены как left так и right, элемент будет растягиваться для удовлетворения обоих условий, если другие ограничения не препятствуют этому. Если элемент не будет растягиваться или сжиматься, чтобы удовлетворить оба условия. Когда положение элемента задано избыточно, приоритет определяется по направлению контейнера: left имеет приоритет, если направление контейнера слева направо. right имеет приоритет, если направление контейнера справа налево.
HTML
<div id="parent"> Parent <div id="noWidth">No width</div> <div id="width">width: 100px</div> </div>
CSS
div {
outline: 1px solid #cccccc;
}
#parent {
width: 200px;
height: 200px;
background-color: #ffc7e4;
position: relative;
}
/* declare both a left and a right */
#width,
#noWidth {
background-color: #c2ffd7;
position: absolute;
left: 0;
right: 0;
}
/* declare a width */
#width {
width: 100px;
top: 60px;
}
Результат
Спецификации
| Спецификация |
|---|
| CSS Positioned Layout Module Level 3 # insets |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
right |
1 | 12 | 1 | 5 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
anchor |
125 | 125 | Нет | 111 | Нет | 125 | Нет | 83 | Нет | 27.0 | 125 |
auto |
1 | 12 | 1 | 15 | 1 | 18 | 4 | 14 | 1 | 1.0 | 4.4 |
См. также
-
top,bottomиleft -
insetсокращение -
inset-block-start,inset-block-end,inset-inline-startиinset-inline-end -
inset-blockиinset-inlineсокращения position- Модуль CSS позиционированного макета
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/right