left | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
6.0+ | 8.0+ | 1.0+ | 3.5+ | 3.1+ | 1.0+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
Описание
Для позиционированного элемента определяет расстояние от левого края родительского элемента, не включая отступ, поле и ширину рамки, до левого края дочернего элемента. Отсчет координат зависит от значения свойства position. Если оно равно absolute, в качестве родителя выступает окно браузера и положение элемента определяется от его левого края (рис. 1).
Рис. 1. Значение свойства left относительно окна браузера
В случае значения relative, left отсчитывается от левого края исходного положения элемента (рис. 2).
Рис. 2. Значение свойства left относительно исходного положения
Если для родительского элемента задано position: relative, то абсолютное позиционирование дочерних элементов определяет их положение от левого края родителя.
Рис. 3. Значение свойства left относительно родителя
Синтаксис
left: значение | проценты | auto | inherit
Значения
В качестве значений принимаются любые единицы длины, принятые в CSS — например, пикселы (px), дюймы (in), пункты (pt) и др. Значение свойства left может быть и отрицательным, в этом случае возможны наложения разных элементов друг на друга. При задании значения в процентах, положение элемента вычисляется в зависимости от ширины родительского элемента.
- auto
- Не изменяет положение элемента.
- inherit
- Наследует значение родителя.
Пример
HTML5CSS2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>left</title>
<style>
.layer1 {
position: absolute; /* Абсолютное позиционирование */
left: 20px; /* Положение от левого края */
background: #fc3; /* Цвет фона */
margin: 7px; /* Отступы вокруг элемента */
}
.layer2 {
position: relative; /* Относительное позиционирование */
left: -12px; /* Положение от левого края */
top: 13px; /* Положение от верхнего края */
border: 1px solid black; /* Параметры рамки */
padding: 5px; /* Поля вокруг текста */
margin: 7px; /* Отступы вокруг элемента */
}
</style>
</head>
<body>
<div>
<div>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat
volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution
ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
</div>
</div>
</body>
</html>
Результат данного примера показан на рис. 4.
Рис. 4. Применение свойства left
Объектная модель
[window.]document.getElementById(«elementID»).style.left
Браузеры
В браузере Internet Explorer 6 для абсолютно позиционированных элементов нельзя одновременно задать свойства top, left, right, bottom.
Internet Explorer до версии 7.0 включительно не поддерживает значение inherit.
margin-left | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
6.0+ | 8.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
Описание
Устанавливает величину отступа от левого края элемента. Отступом является расстояние от внешнего края левой границы текущего элемента до внутренней границы его родительского элемента (рис. 1).
Рис. 1. Отступ от левого края элемента
Синтаксис
margin-left: значение | auto | inherit
Значения
Величину левого отступа можно указывать в пикселах (px), процентах (%) или других допустимых для CSS единицах. Значение может быть как положительным, так и отрицательным числом.
- auto
- Указывает, что размер отступов будет автоматически рассчитан браузером.
- inherit
- Наследует значение родителя.
Пример
HTML5CSS2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>margin-left</title>
<style>
.layer1 {
background-color: #D36037; /* Цвет фона */
}
.layer2 {
margin-left: 20%; /* Отступ слева */
background-color: #ccc; /* Цвет фона */
padding: 10px; /* Поля вокруг текста */
}
</style>
</head>
<body>
<div>
<div>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh
euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim
ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl
ut aliquip ex ea commodo consequat.
</div>
</div>
</body>
</html>
Результат данного примера показан на рис. 2.
Рис. 2. Применение свойства margin-left
Объектная модель
[window.]document.getElementById(«elementID»).style.marginLeft
Браузеры
Браузер Internet Explorer 6 удваивает значение левого или правого отступа для плавающих элементов, вложенных в родительские элементы. Удваивается тот отступ, который прилегает к стороне родителя. Проблема обычно решается добавлением display: inline для плавающего элемента.
Internet Explorer до версии 7.0 включительно не поддерживает значение inherit.
border-top-left-radius | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
9.0+ | 1.0+ | 10.5+ | 3.0+ | 1.0+ | 2.1+ | 1.0+ |
Краткая информация
Значение по умолчанию | 0 |
---|---|
Наследуется | Нет |
Процентная запись | Да, относительно ширины блока |
Применяется | Ко всем элементам |
Ссылка на спецификацию | http://www.w3.org/TR/css3-background/#border-top-left-radius |
Версии CSS
Описание
Устанавливает радиус скругления левого верхнего уголка рамки. Если рамка не задана, то скругление также происходит и с фоном.
Синтаксис
border-top-left-radius: [значение | проценты] [значение | проценты]
Значения
В качестве радиуса указывается любое допустимое в CSS значение (px, cm, in, em и др.), а также проценты, в этом случае радиус скругления считается от ширины блока.
Необязательное второе значение предназначено для создания эллиптического уголка, первое значение при этом устанавливает радиус по горизонтали, а второе — радиус по вертикали (рис. 1).
Рис. 1. Радиус скругления для создания разных типов уголков
Пример
HTML5CSS3IECrOpSaFx
<!DOCTYPE htm> <html> <head> <meta charset="utf-8"> <title>border-top-left-radius</title> <style> .title { background: #000080; /* Цвет фона */ color: #ffe; /* Цвет текста */ padding: 7px; /* Поля вокруг текста */ border-top-left-radius: 10px; /* Левый верхний уголок */ border-top-right-radius: 10px; /* Правый верхний уголок */ } .content { border: 1px solid #000080; /* Параметры рамки */ background: #f0f0f0; /* Цвет фона */ padding: 7px; /* Поля вокруг текста */ border-bottom-left-radius: 10px; /* Левый нижний уголок */ border-bottom-right-radius: 10px; /* Правый нижний уголок */ } </style> </head> <body> <div>Буквица</div> <div> Буквица является художественным приемом оформления текста и представляет собой увеличенную первую букву, базовая линия которой ниже на одну или несколько строк базовой линии основного текста. </div> </body> </html>
Результат данного примера показан на рис. 2.
Рис. 2. Радиус скругления в браузере Safari
Браузеры
Firefox до версии 4.0 использует нестандартное свойство -moz-border-radius-topleft.
Chrome до версии 4.0, Safari до версии 5.0, iOS используют нестандартное свойство -webkit-border-top-left-radius.
border-left | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
6.0+ | 8.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
Описание
Свойство border-left позволяет одновременно установить толщину, стиль и цвет левой границы элемента. Значения могут идти в любом порядке, разделяясь пробелом, браузер сам определит, какое из них соответствует нужному свойству.
Синтаксис
border-left: [border-width || border-style || border-color] | inherit
Значения
Значение border-width определяет толщину границы. Для управления ее видом предоставляется несколько значений свойства border-style. Их названия и результат действия представлен на рис. 1.
Рис.1. Стили рамок
border-color устанавливает цвет границы, значение может быть в любом допустимом для CSS формате.
inherit наследует значение родителя.
Пример
HTML5CSS2.1IECrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>border-left</title> <style> .line { border-left: 2px dotted green; /* Линия слева от текста */ padding-left: 10px; /* Расстояние между линией и текстом */ margin-left: 10px; /* Расстояние от левого края до линии */ } </style> </head> <body> <div> Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. </div> </body> </html>
Результат данного примера показан на рис. 2.
Рис. 2. Применение свойства border-left
Объектная модель
[window.]document.getElementById(«elementID»).style.borderLeft
Браузеры
Браузер Internet Explorer до шестой версии включительно при толщине границы 1px отображает dotted как dashed. При толщине 2px и выше значение dotted работает корректно. Эта ошибка исправлена в IE7, но только для всех границ толщиной 1px. Если одна из границ блока имеет толщину 2px и выше, то в IE7 значение dotted превращается в dashed.
Internet Explorer до версии 7.0 включительно не поддерживает значение inherit.
Стиль границы в разных браузерах может несколько различаться при использовании значений groove, ridge, inset или outset.
padding-left | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
6.0+ | 8.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
Описание
Устанавливает значение поля от левого края содержимого элемента. Полем называется расстояние от внутреннего края рамки элемента до воображаемого прямоугольника, ограничивающего его содержимое (рис. 1).
Рис. 1. Поле слева от текста
Синтаксис
padding-left: значение | проценты | inherit
Значения
Величину левого поля можно указывать в пикселах (px), процентах (%) или других допустимых для CSS единицах. Значение inherit указывает, что оно наследуется у родителя.
Пример
HTML5CSS2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>padding-left</title>
<style>
.layer {
background: #fc3; /* Цвет фона */
border: 2px solid black; /* Параметры рамки */
padding: 5px; /* Поля вокруг текста */
}
.layer p {
margin: 0; /* Убираем отступы вокруг */
padding-left: 10%; /* Поле слева */
}
</style>
</head>
<body>
<div>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.
Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit
lobortis nisl ut aliquip ex ea commodo consequat.</p>
</div>
</body>
</html>
Результат данного примера показан на рис. 2.
Рис. 1. Применение свойства padding-left
Объектная модель
[window.]document.getElementById(«elementID»).style.paddingLeft
Браузеры
Internet Explorer до версии 7.0 включительно не поддерживает значение inherit.
top | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
6.0+ | 8.0+ | 1.0+ | 3.5+ | 3.1+ | 1.0+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
Описание
Для позиционированного элемента определяет расстояние от верхнего края родительского элемента до верхнего края дочернего элемента. Отсчет координат зависит от значения свойства position. Если оно равно absolute, в качестве родителя выступает окно браузера и положение элемента определяется от его верхнего края (рис. 1). В случае значения relative, top отсчитывается от верхнего края исходного положения элемента. Если для родительского элемента задано position: relative, то абсолютное позиционирование дочерних элементов определяет их положение от верхнего края родителя (рис. 2).
Рис. 1. Значение top относительно окна браузера
Рис. 2. Значение top относительно родителя
Синтаксис
top: значение | проценты | auto | inherit
Значения
В качестве значений принимаются любые единицы длины, принятые в CSS — например, пикселы (px), дюймы (in), пункты (pt) и др. Значение свойства top может быть и отрицательным, в этом случае возможны наложения разных элементов друг на друга. При задании значения в процентах, положение элемента вычисляется в зависимости от высоты родительского элемента.
- auto
- Не изменяет положение элемента.
- inherit
- Наследует значение родителя.
Пример
HTML5CSS2.1IECrOpSaFx
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>top</title> <style> .menu { position: absolute; /* Абсолютное позиционирование */ left: 300px; /* Положение от левого края */ top: 50px; /* Положение от верхнего края */ width: 120px; /* Ширина блока */ background: #e0e0e0; /* Цвет фона */ border: 1px solid #000; /* Параметры рамки */ padding: 5px; /* Поля вокруг текста */ } .content { position: absolute; /* Абсолютное позиционирование */ left: 0; /* Положение от левого края */ top: 0; /* Положение от верхнего края */ width: 280px; /* Ширина блока */ background: #00a5b6; /* Цвет фона */ color: white; /* Цвет текста */ padding: 5px; /* Поля вокруг текста */ padding-right: 60px; /* Отступ справа */ text-align: justify; /* Выравнивание по ширине */ } </style> </head> <body> <div> Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis te feugifacilisi. </div> <div> Ut wisi enim ad minim veniam, quis nostrud exerci taion ullamcorper suscipit lobortis nisl ut aliquip ex en commodo consequat. </div> </body> </html>
Результат данного примера показан на рис. 3.
Рис. 2. Применение свойства top
Объектная модель
[window.]document.getElementById(«elementID»).style.top
Браузеры
В браузере Internet Explorer 6 для абсолютно позиционированных элементов нельзя одновременно задать свойства top, left, right, bottom.
Internet Explorer до версии 7.0 включительно не поддерживает значение inherit.
border-top-style | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
6.0+ | 8.0+ | 1.0+ | 3.5+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Краткая информация
Версии CSS
Описание
Устанавливает стиль границы сверху элемента.
Синтаксис
border-top-style: none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset|inherit
Значения
- none
- Линия не отображается и значение ее толщины обнуляется.
- hidden
- Имеет тот же эффект, что и none за исключением применения border-top-style к ячейкам таблицы, у которой значение свойства border-collapse установлено как collapse. В этом случае верхняя граница в ячейке не будет отображаться вообще.
- dotted
- Линия состоящая из набора точек.
- dashed
- Пунктирная линия, состоящая из серии коротких отрезков.
- solid
- Сплошная линия.
- double
- Двойная линия.
- groove
- Создает эффект вдавленной линии.
- ridge
- Создает эффект рельефной линии.
- inset
- Псевдотрехмерная линия.
- outset
- Псевдотрехмерная линия.
- inherit
- Наследует значение родителя.
Вид указанных стилей представлен на рис. 1.
Рис.1. Стили границ
Пример
HTML5CSS2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>border-top-style</title>
<style>
h2 {
border-top-color: #800000; /* Цвет линии сверху */
border-top-style: double; /* Стиль линии сверху */
border-top-width: 7px; /* Толщина линии сверху */
border-left-color: #bd0000; /* Цвет линии слева */
border-left-style: solid; /* Стиль линии */
border-left-width: 2px; /* Толщина линии */
padding: 7px; /* Поля вокруг текста */
}
</style>
</head>
<body>
<h2>Lorem ipsum dolor sit amet</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.
Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit
lobortis nisl ut aliquip ex ea commodo consequat.</p>
</body>
</html>
Результат данного примера показан на рис. 2.
Рис. 2. Применение свойства border-top-style
Объектная модель
[window.]document.getElementById(«elementID»).style.borderTopStyle
Браузеры
Браузер Internet Explorer до шестой версии включительно при толщине границы 1px отображает dotted как dashed. При толщине 2px и выше значение dotted работает корректно. Эта ошибка исправлена в IE7, но только для всех границ толщиной 1px. Если одна из границ блока имеет толщину 2px и выше, то в IE7 значение dotted превращается в dashed.
Internet Explorer до версии 7.0 включительно не поддерживает значения hidden и inherit.
Стиль границы в разных браузерах может несколько различаться при использовании значений groove, ridge, inset или outset.
CSS оставленное свойство
Пример
Установить левый край позиционированного элемента
div.c {
позиция: абсолютная; Осталось
:
150 пикселей;
ширина: 200 пикселей;
высота: 120 пикселей;
граница: сплошная 3 пикселя
зеленый;
}
Дополнительные примеры «Попробуйте сами» ниже.
Определение и использование
Свойство left
влияет на горизонтальное
положение позиционируемого элемента.Это свойство не влияет на непозиционированные
элементы.
- Если положение: абсолютное; или позиция: фиксированная; — модель
left
свойство устанавливает левый край элемента на единицу слева от левый край ближайшего предка. - Если позиция: относительная; —
левый
свойство устанавливает левый край элемента на единицу слева / справа от его нормальное положение. - Если позиция: липкая; — свойство
left
ведет себя так, как будто его положение относительный, когда элемент находится внутри области просмотра, и, как и его положение, фиксируется, когда он снаружи. - Если положение: статическое; — оставшееся
свойство
не действует.
Поддержка браузера
Числа в таблице указывают первую версию браузера, полностью поддерживающую свойство.
Имущество | |||||
---|---|---|---|---|---|
слева | 1,0 | 5,5 | 1,0 | 1,0 | 5,0 |
Синтаксис CSS
слева: авто | длина | начальная | наследование;
Стоимость объекта
Другие примеры
Пример
Используйте свойство left с отрицательным значением и для элемента без позиционирует предков:
div.b {положение: абсолютное;
слева: -10 пикселей;
ширина: 100 пикселей;
высота: 120 пикселей;
граница: сплошной синий цвет 3 пикселя;
}
div.c {Положение
: абсолютное;
слева: 150 пикселей;
ширина: 200 пикселей;
высота: 120 пикселей;
граница: сплошной зеленый цвет 3 пикселя;
}
Связанные страницы
УчебникCSS: позиционирование CSS
Ссылка CSS: свойство right
Ссылка CSS: свойство bottom
Ссылка CSS: свойство top
Ссылка на HTML DOM: свойство left
CSS свойство top
Пример
Установите верхний край позиционированного элемента
div {
позиция: абсолютная;
вверху:
50 пикселей;
граница: сплошной зеленый цвет 3 пикселя;
}
Дополнительные примеры «Попробуйте сами» ниже.
Определение и использование
Свойство top
влияет на вертикальное положение позиционированного элемента.
Это свойство не влияет на непозиционированные элементы.
- Если положение: абсолютное; или позиция: фиксированная; — модель
Свойство top
устанавливает верхний край элемента на единицу выше / ниже верхний край ближайшего предка. - Если позиция: относительная; — свойство
top
делает элемент вершина край, чтобы переместиться выше / ниже своего нормального положения. - Если позиция: липкая; — свойство
top
ведет себя так, как будто его положение относительный, когда элемент находится внутри области просмотра, и, как и его положение, фиксируется, когда он снаружи. - Если положение: статическое; — свойство
top
не действует.
Поддержка браузера
Числа в таблице указывают первую версию браузера, полностью поддерживающую свойство.
Имущество | |||||
---|---|---|---|---|---|
верх | 1.0 | 5,0 | 1,0 | 1,0 | 6,0 |
Синтаксис CSS
вверху: авто | длина | начальная | наследование;
Стоимость объекта
Другие примеры
Пример
Используйте свойство top с отрицательным значением и для элемента без позиционирует предков:
div.b {позиция: абсолютная;
верх: -20 пикселей;
граница: сплошной синий цвет 3 пикселя;
}
дел.c {
положение: абсолютное;
верх: 150 пикселей;
граница: сплошной зеленый цвет 3 пикселя;
}
Связанные страницы
УчебникCSS: позиционирование CSS
Ссылка CSS: свойство bottom
Ссылка CSS: свойство left
Ссылка CSS: свойство right
Ссылка на HTML DOM: свойство top
позиция — CSS: каскадные таблицы стилей
Свойство position
CSS устанавливает, как элемент располагается в документе.Свойства верхний
, правый
, нижний
и левый
определяют окончательное расположение позиционированных элементов.
положение: статическое;
положение: относительное;
позиция: абсолютная;
положение: фиксированное;
положение: липкое;
положение: наследовать;
позиция: начальная;
позиция: вернуться;
положение: не задано;
Значения
-
статический
- Элемент позиционируется в соответствии с обычным потоком документа. Свойства
верхний
,правый
,нижний
,левый
иz-index
свойства не влияют .Это значение по умолчанию. -
родственник
Элемент позиционируется согласно нормальному потоку документа, а затем смещается на относительно самого себя на на основе значений
верхний
,правый
,нижний
илевый
. Смещение не влияет на положение других элементов; таким образом, пространство, отведенное для элемента в макете страницы, такое же, как если бы позиция былаstatic
.Это значение создает новый контекст наложения, когда значение
z-index
не равноauto
.Его влияние на элементыtable - * - group
,table-row
,table-column
,table-cell
иtable-caption
не определено.-
абсолютное
Элемент удаляется из обычного потока документов, и пространство для него не создается в макете страницы. Он позиционируется относительно ближайшего предка, если таковой имеется; в противном случае он размещается относительно исходного содержащего блока. Его окончательное положение определяется значениями
верхний
,правый
,нижний
илевый
.Это значение создает новый контекст наложения, когда значение
z-index
не равноauto
. Поля абсолютно позиционированных блоков не сжимаются с другими полями.-
фиксированный
Элемент удаляется из обычного потока документов, и пространство для него не создается в макете страницы. Он позиционируется относительно начального содержащего блока, установленного окном просмотра, за исключением случаев, когда один из его предков имеет свойство
преобразование
, перспективуфильтр
, установленное на что-то иное, чемнет
(см. Спецификацию преобразований CSS) , и в этом случае этот предок ведет себя как содержащий блок.(Обратите внимание, что существуют несоответствия браузера с перспективойверхний
,справа
,нижний
ислева
.Это значение всегда создает новый контекст стекирования. В печатных документах элемент помещается в одно и то же положение на на каждой странице .
-
липкий
Элемент позиционируется в соответствии с обычным потоком документа, а затем смещается относительно своего ближайшего предка с прокруткой и содержащего блока (ближайшего предка на уровне блока), включая элементы, связанные с таблицей, на основе значений
верхний
,справа
,снизу
ислева
.Смещение не влияет на положение других элементов.Это значение всегда создает новый контекст стекирования. Обратите внимание, что липкий элемент «прилипает» к своему ближайшему предку, который имеет «механизм прокрутки» (создается, когда переполнение
прокрутка
,авто
илиналожение
), даже если этот предок не t ближайший предок, выполняющий прокрутку. Это эффективно предотвращает любое «липкое» поведение (см. Проблему GitHub на W3C CSSWG).
Типы позиционирования
- Позиционированный элемент — это элемент, для которого вычисленное значение
позиции
является либо относительным ,абсолютным
,фиксированным
илилипким
. (Другими словами, это что угодно, кромеstatic
.) - Относительно позиционированный элемент — это элемент, для которого вычисленное значение
позиции
равноотносительно
. Свойстваверхний
инижний
определяют вертикальное смещение от его нормального положения; свойстваleft
иright
определяют смещение по горизонтали. - Абсолютно позиционированный элемент — это элемент, для которого вычисленное значение
позиции
равноабсолютное
илификсированное
. Свойстваверхний
,правый
,нижний
илевый
определяют смещения от краев содержащего блока элемента. (Содержащий блок является предком, относительно которого позиционируется элемент.) Если у элемента есть поля, они добавляются к смещению. Элемент устанавливает новый контекст форматирования блока (BFC) для своего содержимого. - Элемент с липким позиционированием — это элемент, для которого вычисленное значение
позиции
равнолипкое
. Он рассматривается как относительно позиционированный до тех пор, пока содержащий его блок не пересечет указанный порог (например, установкаtop
на значение, отличное от auto) в его корне потока (или в контейнере, внутри которого он прокручивается), после чего он рассматривается как «застрявший» до тех пор, пока встречает противоположный край содержащего его блока.
В большинстве случаев абсолютно позиционированные элементы с высотой
и шириной
, установленной на auto
, имеют размер, соответствующий их содержимому.Однако незамещенные, абсолютно позиционированные элементы можно сделать так, чтобы они заполняли доступное вертикальное пространство, указав как верхний
, так и нижний
и оставив высоту
неопределенной (то есть авто
). Их также можно сделать так, чтобы они заполняли доступное горизонтальное пространство, указав слева
и справа
и оставив ширину
как авто
.
За исключением только что описанного случая (с абсолютно позиционированными элементами, заполняющими доступное пространство):
- Если указаны как
верхний,
, так и нижнийавто
), выигрываетверхний
. - Если указаны
слева,
исправа,
,слева
побеждает, когда направлениеltr
(английский, горизонтальный японский и т. Д.) Исправа
побеждает, когда направлениеrtl
(персидский Арабский, иврит и др.).
Убедитесь, что элементы, позиционированные с абсолютным значением
или фиксированным значением
, не закрывают другой контент, когда страница масштабируется для увеличения размера текста.
Производительность и доступность
Элементы прокрутки, содержащие фиксированный
или липкий
контент, могут вызвать проблемы с производительностью и доступностью.Когда пользователь выполняет прокрутку, браузер должен перерисовать закрепленный или фиксированный контент в новом месте. В зависимости от содержимого, которое необходимо перерисовать, производительности браузера и скорости обработки устройства, браузер может не справиться с перерисовкой со скоростью 60 кадров в секунду , вызывая проблемы доступности для людей с повышенной чувствительностью и дрянь для всех. Одно из решений - добавить will-change: transform
к позиционированным элементам, чтобы отобразить элемент на его собственном слое, улучшив скорость перерисовки и, следовательно, улучшив производительность и доступность.
статический | родственник | абсолютный | липкий | фиксированное
Относительное позиционирование
Относительно позиционированные элементы смещены на заданную величину от их нормального положения в документе, но без влияния смещения на другие элементы. В приведенном ниже примере обратите внимание, как размещены другие элементы, как если бы «Два» занимали пространство своего обычного расположения.
HTML
Один
Два
Три
Четыре
CSS
* {
размер коробки: рамка-рамка;
}
.коробка {
дисплей: встроенный блок;
ширина: 100 пикселей;
высота: 100 пикселей;
фон: красный;
белый цвет;
}
#два {
положение: относительное;
верх: 20 пикселей;
слева: 20 пикселей;
фон: синий;
}
Абсолютное позиционирование
Элементы, расположенные относительно друг друга, остаются в обычном потоке документа. Напротив, элемент, который находится в абсолютном позиционировании, извлекается из потока; таким образом, другие элементы позиционируются так, как если бы его не было. Абсолютно позиционированный элемент позиционируется относительно своего ближайшего предка (т. Е. ).е., ближайший предок, который не является статическим
). Если позиционированный предок не существует, он позиционируется относительно ICB (начальный содержащий блок - см. Также определение W3C), который является содержащим блоком корневого элемента документа.
HTML
Абсолютное позиционирование
Я элементарный элемент базового уровня. Соседние элементы уровня блока располагаются на новых строках ниже меня.
По умолчанию мы покрываем 100% ширины нашего родительского элемента, и мы достигаем высоты нашего дочернего содержимого.Наша общая ширина и высота - это наше содержимое + отступ + ширина / высота границы.
Нас разделяют наши поля. Из-за сжатия поля мы разделяем ширину одного из наших полей, а не обоих.
встроенные элементы , подобные этому и this , располагаются на одной строке друг с другом и смежными текстовыми узлами, если на той же строке есть место. Переполняющиеся встроенные элементы переносятся на новую строку, если это возможно - как эта, содержащая текст , или просто переходите к новой строке, если нет, как это будет с этим изображением:
CSS
* {
размер коробки: рамка-рамка;
}
тело {
ширина: 500 пикселей;
маржа: 0 авто;
}
п {
фон: цвет морской волны;
граница: сплошной синий цвет 3px;
отступ: 10 пикселей;
маржа: 10 пикселей;
}
охватывать {
фон: красный;
граница: сплошной черный 1px;
}
.positioned {
позиция: абсолютная;
фон: желтый;
верх: 30 пикселей;
слева: 30 пикселей;
}
Результат
Фиксированное позиционирование
Фиксированное позиционирование аналогично абсолютному позиционированию, за исключением того, что содержащий блок элемента является начальным содержащим блоком, установленным окном просмотра , если только какой-либо предок не имеет преобразование
, перспективу
или фильтр
свойство установить значение, отличное от none
(см. Спецификацию преобразований CSS), что затем заставляет этого предка занять место элементов, содержащих блок.Это можно использовать для создания «плавающего» элемента, который остается в том же положении независимо от прокрутки. В приведенном ниже примере поле «Один» зафиксировано на расстоянии 80 пикселей от верхнего края страницы и 10 пикселей от левого края. Даже после прокрутки он остается на том же месте относительно области просмотра.
HTML
Lorem ipsum dolor sit amet, conctetur adipiscing elit. Nam congue Tortor Eget pulvinar lobortis.
Vestibulum ante ipsum primis в faucibus orci luctus et ultrices posuere cubilia Curae; Nam ac dolor augue.Pellentesque mi mi, laoreet et dolor sit amet, ultrices varius risus. Nam vitae iaculis elit.
Aliquam mollis interdum libero. Sed sodales placerat egestas. Vestibulum ut arcu aliquam purus viverra dictum vel sit amet mi.
Duis nisl mauris, aliquam sit amet luctus eget, dapibus in enim. Sed velit augue, pretium a sem aliquam, congue porttitor toror.
Sed tempor nisl a lorem conquat, id maximus erat aliquet. Sed sagittis porta libero sed condimentum.
Aliquam finibus lectus nec ante congue rutrum.Curabitur quam quam, accumsan id ultrices ultrices, tempor et tellus.
Lorem ipsum dolor sit amet, conctetur adipiscing elit. Nam congue Tortor Eget pulvinar lobortis.
Vestibulum ante ipsum primis в faucibus orci luctus et ultrices posuere cubilia Curae; Nam ac dolor augue.
Pellentesque mi mi, laoreet et dolor sit amet, ultrices varius risus. Nam vitae iaculis elit.
Aliquam mollis interdum libero. Sed sodales placerat egestas. Vestibulum ut arcu aliquam purus viverra dictum vel sit amet mi.Duis nisl mauris, aliquam sit amet luctus eget, dapibus in enim. Sed velit augue, pretium a sem aliquam, congue porttitor toror.
Sed tempor nisl a lorem conquat, id maximus erat aliquet. Sed sagittis porta libero sed condimentum.
Aliquam finibus lectus nec ante congue rutrum. Curabitur quam quam, accumsan id ultrices ultrices, tempor et tellus.
Один
CSS
* {
размер коробки: рамка-рамка;
}
.коробка {
ширина: 100 пикселей;
высота: 100 пикселей;
фон: красный;
белый цвет;
}
#один {
положение: фиксированное;
верх: 80 пикселей;
слева: 10 пикселей;
фон: синий;
}
.outer {
ширина: 500 пикселей;
высота: 300 пикселей;
переполнение: прокрутка;
отступ слева: 150 пикселей;
}
Результат
Липкое позиционирование
Липкое позиционирование можно рассматривать как гибрид относительного и фиксированного позиционирования. Элемент с фиксированным позиционированием считается относительно позиционированным до тех пор, пока он не пересечет заданный порог, после чего он считается фиксированным до тех пор, пока не достигнет границы своего родителя.Например ...
#one {position: sticky; верх: 10 пикселей; }
... позиционирует элемент с идентификатором относительно до тех пор, пока область просмотра не будет прокручена таким образом, чтобы элемент находился на расстоянии менее 10 пикселей от верха. За пределами этого порога элемент будет зафиксирован на 10 пикселей сверху.
Обычно липкое позиционирование используется для заголовков в алфавитном списке. Заголовок «B» будет отображаться сразу под элементами, начинающимися с «A», пока они не будут прокручены за пределы экрана.Вместо того, чтобы перемещаться за пределы экрана вместе с остальным контентом, заголовок «B» будет оставаться закрепленным в верхней части области просмотра до тех пор, пока все элементы «B» не будут прокручены за пределы экрана, после чего он будет закрыт буквой «C». заголовок и так далее.
Вы должны указать порог как минимум с одним из верхний
, правый
, нижний
или левый
, чтобы закрепленное позиционирование работало должным образом. В противном случае его нельзя будет отличить от относительного позиционирования.
HTML
- А
- Эндрю В.К.
- Аппарат
- Arcade Fire
- У подъезда
- Азиз Ансари
- C
- Chromeo
- Обычный
- Свести
- Хрустальные замки
- Курсив
- E
- Взрывы в небе
- Т
- Тед Лео & amp; Фармацевты
- Т-Пейн
- Трижды
- Телевидение по радио
- Два галанта
CSS
* {
размер коробки: рамка-рамка;
}
dl> div {
фон: #FFF;
отступ: 24px 0 0 0;
}
dt {
фон: # B8C1C8;
нижняя граница: сплошной 1px # 989EA4;
border-top: 1px solid # 717D85;
цвет: #FFF;
шрифт: полужирный 18px / 21px Helvetica, Arial, без засечек;
маржа: 0;
отступ: 2px 0 0 12px;
позиция: -webkit-sticky;
положение: липкое;
верх: -1px;
}
dd {
шрифт: полужирный, 20 пикселей / 45 пикселей, Helvetica, Arial, без засечек;
маржа: 0;
отступ: 0 0 0 12 пикселей;
белое пространство: nowrap;
}
dd + dd {
верхняя граница: сплошной 1px #CCC;
}
Результат
таблиц BCD загружаются только в браузере
html - Что означает «верх: 0; слева: 0; низ: 0; справа: 0;» иметь в виду?
Что происходит, когда вы используете левый
и правый
(или верхний
и нижний
) в то же время , сбивает с толку, потому что спецификация [6.3. Абсолютное позиционирование] говорит нам, что:
Для абсолютно позиционированных элементов, содержащий блок которых основан на элемент уровня блока, это свойство представляет собой смещение от заполнения край этого элемента.
Итак, как установка позиции может повлиять на размер элемента? Причина кроется в том, как рассчитывается ширина, что скрыто в другом разделе спецификации [8.1. Ширина неизменяемых элементов с абсолютным или фиксированным позиционированием].
Если вы укажете left
и right
, а ширина вашего элемента
будет , а не auto
, то то, что вы говорите, действительно не имеет смысла, а right
игнорируется (все утверждения одинаково хорошо применимы вверх / вниз / высота):
Если ни один из параметров left / right / width не является автоматическим ... значения чрезмерно ограничены, игнорировать значение для left (в случае, если свойство direction содержащего block is rtl) или right (в случае direction ltr) и решите для этого стоимость.
Но если для вашего элемента ширина не задана или ширина (по умолчанию) auto
, срабатывает это правило:
Если ширина установлена автоматически, левое и правое не являются автоматическими, тогда вычислите ширину.
Наконец, приведенное уравнение, которое определяет значения для этих элементов:
'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = ширина содержащего блока
Мы можем ясно видеть, что после подключения наших значений для слева,
и справа,
и других, ширина
является неразрешенной (и неограниченной) переменной, которая окажется шириной содержащего поля - слева - справа.
(более-менее) или, иначе говоря: «заполнить пространство между смещениями».
CSS | left Property - GeeksforGeeks
<
html
>
<
head
>
<
> title
CSS слева Свойство
title
>
<
style
>
body 9
цвет: зеленый;
выравнивание текста: по центру;
}
.GFG1 {
положение: относительное;
слева: 129 пикселей;
ширина: 500 пикселей;
высота: 200 пикселей;
граница: сплошной оранжевый 5 пикселей;
}
.GFG2 {
положение: относительное;
осталось: 77%;
ширина: 140 пикселей;
высота: 70 пикселей;
граница: 5 пикселей сплошной красный;
}
.GFG3 {
положение: относительное;
слева: авто;
ширина: 350 пикселей;
высота: 170 пикселей;
граница: сплошной зеленый 5 пикселей;
}
.GFG4 {
положение: относительное;
слева: начальный;
ширина: 200 пикселей;
высота: 100 пикселей;
бордюр: сплошной бордовый 5 пикселей;
}
дел.e {
положение: относительное;
осталось: наследование;
ширина: 200 пикселей;
высота: 100 пикселей;
граница: сплошной синий цвет 5 пикселей;
}
стиль
>
головка
>
<
корпус
<
корпус
>
<
h2
> Левое свойство
h2
>
<
div
class
=
"GFG1 «
> длина
<
div
class
=
« GFG2 »
> процент
div
>
<
div
класс
=
"GFG3"
> авто
di v
>
div
>
<
div
class
=
"GFG4"
> начальный
div
>
<
div
класс
=
"GFG4"
> наследовать
div
>
корпус
>
html
>
позиция | CSS-уловки
Свойство position
может помочь вам управлять расположением элемента, например:
.element {
положение: относительное;
верх: 20 пикселей;
}
Относительно своего исходного положения элемент выше теперь будет смещен вниз на 20 пикселей. Если бы мы анимировали эти свойства, мы могли бы увидеть, какой контроль это дает нам (хотя это не очень хорошая идея по соображениям производительности):
relative
- это только одно из шести значений свойства position
. Вот остальные:
Значения
-
static
: каждый элемент имеет статическое положение по умолчанию, поэтому элемент будет придерживаться обычного потока страниц.Таким образом, если установлен левый / правый / верхний / нижний / z-индекс, это не повлияет на этот элемент. -
относительный
: исходное положение элемента остается в потоке документа, как и значениеstatic
. Но теперь left / right / top / bottom / z-index будут работать. Позиционные свойства «подталкивают» элемент из исходного положения в этом направлении. -
абсолютный
: элемент удаляется из потока документа, а другие элементы будут вести себя так, как будто его даже нет, в то время как все остальные позиционные свойства будут работать с ним. -
фиксированный
: элемент удаляется из потока документа, как абсолютно позиционированные элементы. На самом деле они ведут себя почти одинаково, только элементы с фиксированным позиционированием всегда относятся к документу, а не к конкретному родительскому элементу, и на них не влияет прокрутка. -
липкий
(экспериментальный): элемент обрабатывается как относительное значениедо тех пор, пока положение прокрутки окна просмотра не достигнет заданного порога, после чего элемент займет фиксированное положение
, - ,
наследует
: значение позициинаследует
значение позиционирования от своего родителя.
Абсолютный
Если дочерний элемент имеет абсолютное значение
, тогда родительский элемент будет вести себя так, как будто дочернего элемента вообще нет:
.element {
позиция: абсолютная;
}
И когда мы попытаемся установить другие значения, такие как слева
, снизу
и справа
, мы обнаружим, что дочерний элемент реагирует не на размеры своего родителя, а на размер документа:
.element {
позиция: абсолютная;
слева: 0;
справа: 0;
внизу: 0;
}
Чтобы дочерний элемент располагался абсолютно относительно своего родительского элемента, нам нужно установить это на самом родительском элементе:
.parent {
положение: относительное;
}
Теперь такие свойства, как слева
, справа
, снизу
и сверху
, будут ссылаться на родительский элемент, так что если мы сделаем дочерний элемент прозрачным, мы сможем увидеть, что он сидит прямо внизу родительского:
фиксированный
Фиксированное значение
аналогично абсолютному
, поскольку оно может помочь вам расположить элемент в любом месте относительно документа, однако на это значение не влияет прокрутка.Посмотрите на дочерний элемент в демонстрации ниже и посмотрите, как при прокрутке он продолжает оставаться в нижней части страницы:
Настольный компьютер
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
4 | 2 | 7 | 12 | 3,1 |
Мобильный /
39 Планшетный ПК39липкий
Закрепленное значение похоже на компромисс между относительными значениями
значениями
и фиксированными .На момент написания этой статьи это экспериментальное значение, то есть оно не является частью официальной спецификации и лишь частично принимается некоторыми браузерами. Другими словами, это, вероятно, не лучшая идея использовать это на рабочем веб-сайте.
Что он делает? Что ж, он позволяет вам позиционировать элемент относительно чего-либо в документе, а затем, когда пользователь прокручивает определенную точку в области просмотра, фиксирует положение элемента в этом месте, чтобы он постоянно отображался как элемент с фиксированное значение
.
Возьмем следующий пример:
.element {
положение: липкое; верх: 50 пикселей;
}
Элемент будет позиционироваться относительно друг друга до тех пор, пока положение прокрутки области просмотра не достигнет точки, в которой элемент будет находиться на расстоянии 50 пикселей
от верха области просмотра. В этот момент элемент становится липким и остается в фиксированной позиции
50px
вверху экрана.
Следующая демонстрация иллюстрирует этот момент, где для верхней навигации по умолчанию установлено относительное позиционирование
, а для второй навигации установлено значение , липкое
в самом верху области просмотра.Обратите внимание, что на момент написания демоверсия будет работать только в Chrome, Safari и Opera.
Настольный компьютер
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
91 | 59 | Нет | 91 | 7.1 * |