- How to Align the Content of a Div Element to the Bottom
- Create HTML
- Add CSS
- Example of aligning the content to the left bottom:
- Result
- W3docs
- Example of aligning the content to the right bottom:
- Example of aligning the content to the center bottom:
- Example of aligning the content to the bottom with Flexbox:
- Example of aligning the content to the bottom with the align-items property:
- Example of aligning the content to the bottom with the «fixed» value of the position property:
- Как работает position: fixed;
- «Приклеить» элемент, чтобы он не менял своего положения при прокрутке страницы
- Расположить элемент с position: fixed; относительно области просмотра окна браузера, iframe и т. п.
- Ширина и высота элемента с position: fixed; относительно области просмотра
- position: fixed; и overflow не visible
- position: fixed; и clip-path или clip
- position: fixed; не работает, когда у родителя свойства transform , perspective , filter или will-change имеют значение не none
- div по центру экрана
How to Align the Content of a Div Element to the Bottom
It is very easy if you follow the steps described below.
Let’s see an example and try to discuss each part of the code together.
Create HTML
body> div class="main"> div class="column1"> h2>W3docs h2> div> div class="column2"> Lorem Ipsum is simply dummy text of the printing and typesetting industry. div> div id="bottom">Bottom Content Div div> div> body>
Add CSS
- Use the border, height, width, and position properties to style the «main» class. The float property defines on which side of the container the elements should be placed. The position property specifies the position of the element in a document.
- Set color for the text of the first . In this example, we use a «hex» value for the color.
- Use the text-align property to align the inner content of the block element.
- Use the bottom and left properties. The bottom property specifies the bottom position of an element along with the position property. The left property specifies the left position of an element along with the position property.
.main < border: 1px solid #4287f5; height: 180px; width: 500px; position: relative; > .column1 < color: #4287f5; text-align: center; > .column2 < text-align: center; > #bottom < position: absolute; bottom: 0; left: 0; >
Let’s bring the parts of the code together and see how it works!
Example of aligning the content to the left bottom:
html> html> head> title>Title of the document title> style> .main < border: 1px solid #4287f5; height: 180px; width: 500px; position: relative; > .column1 < color: #4287f5; text-align: center; > .column2 < text-align: center; > #bottom < position: absolute; bottom: 0; left: 0; > style> head> body> div class="main"> div class="column1"> h2>W3docs h2> div> div class="column2"> Lorem Ipsum is simply dummy text of the printing and typesetting industry. div> div id="bottom">Bottom Content Div div> div> body> html>
Result
W3docs
In the following example, the content of a is aligned to the bottom on the right side.
Example of aligning the content to the right bottom:
html> html> head> title>Title of the document title> style> .main < border: 1px solid #4287f5; float: left; height: 180px; width: 500px; position: relative; > .column1 < color: #4287f5; text-align: center; > .column2 < text-align: center; > #bottom < position: absolute; bottom: 0; right: 0; > style> head> body> div class="main"> div class="column1"> h2>W3docs h2> div> div class="column2"> Lorem Ipsum is simply dummy text of the printing and typesetting industry. div> div id="bottom">Bottom Content Div div> div> body> html>
In our next example, the content of a is aligned to the bottom at the center. We set the width of the bottom to «100%».
Example of aligning the content to the center bottom:
html> html> head> title>Title of the document title> style> .main < border: 1px solid #4287f5; float: left; height: 180px; width: 500px; position: relative; text-align: center; > .column1 < color: #4287f5; > #bottom < position: absolute; bottom: 0; width: 100%; color: #ffffff; background-color: blue; padding: 15px 0; > style> head> body> div class="main"> div class="column1"> h2>W3docs h2> div> div class="column2"> Lorem Ipsum is simply dummy text of the printing and typesetting industry. div> div id="bottom">Bottom Content Div div> div> body> html>
Let’s see another example, where the content of a is aligned to the center with flexbox. Flexbox is a single-dimensional layout, which means that it lays items in one dimension at a time, either as a row, or column, but not both together. In the following example, we use the flex-direction property with the «column» value. The flex-direction property defines the main axis of the flex container and sets the order, in which flex items appear. The justify-content property aligns the items when the items do not use all available space horizontally. The «space-between» value is used with the justify-content property when there is space between the lines of the items.
The justify-content property must be used with the display property set to «flex». For aligning the items vertically, use the align-items property.
Example of aligning the content to the bottom with Flexbox:
html> html> head> title>Title of the document title> style> main < border: 1px solid blue; height: 150px; display: flex;/* defines flexbox */ flex-direction: column;/* top to bottom */ justify-content: space-between;/* first item at start, last at end */ > h2 < margin: 0; > style> head> body> main> h2>Header title h2> Some text aligns to the bottom main> body> html>
Below, you can see another example with the CSS align-items property. It defines the default alignment for flex items. It is just like the justify-content property but the vertical version.
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
We have to use -Webkit- and -Moz- extensions with the align-items property, so as it will be supported by all browsers.
Example of aligning the content to the bottom with the align-items property:
html> html> head> title>Title of the document title> style> main < border: 1px solid green; background-color: green; color: #ffffff; padding: 20px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; height: 150px; flex-direction: column; > h2 < margin: 0; > p < display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; height: 150px; -webkit-box-align: end; -webkit-align-items: flex-end; -ms-flex-align: end; align-items: flex-end; margin: 0; > style> head> body> main> h2>Header title h2> p>Some text aligns to the bottom p> main> body> html>
Let’s see one more example with the position property. In our first example, we use the position property with the «relative» value for the HTML tag and with the «fixed» value for the . The z-index property specifies the z-order of an element and its descendants or flex items.
Example of aligning the content to the bottom with the «fixed» value of the position property:
html> html> head> title>Title of the document title> style> * < margin: 0; padding: 0; > main < position: relative; > div < background-color: yellow; height: 200px; width: 100%; position: fixed; bottom: 0; z-index: 1; border-top: 2px solid gold; > style> head> body> main> h2>This is the header h2> div>Some text aligns to the bottom div> main> body> html>
Как работает position: fixed;
Элемент с position: fixed; фиксируется в рамках области просмотра страницы, будь то в окне браузера или в iframe , расстояние до края которой указано в свойствах top , right , bottom , left . Передвинуть его относительно своего расположения можно с помощью margin и transform . Размещение элемента над другими элементами правится с помощью свойства z-index .
После того, как свойство position примет значение fixed , размер элемента может измениться, а соседние элементы сдвинутся на освободившееся пространство.
«Приклеить» элемент, чтобы он не менял своего положения при прокрутке страницы
Элемент с position: fixed; не влияет на размер родителя.
staticfixed
Элемент с position: fixed; не влияет на положение соседей: цифры 20, 21, 22, … смещаются к цифре 19.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 static 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 fixed 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
В отличии от элемента с position: absolute; без родителя с position не static , элемент с position: fixed; не меняет своего положения при скроллинге.
absolute fixed
При отсутствии свойств top , right , bottom , left элемент фиксируется на том месте окна браузера либо iframe , на котором находился до прокрутки. Его не увидеть, если он был ниже области, видимой без прокрутки.
fixedfixedfixed
Расположить элемент с position: fixed; относительно области просмотра окна браузера, iframe и т. п.
Свойства top , right , bottom , left могут иметь как положительные, так и отрицательные значения в любых единицах измерения, а также в процентах. По умолчанию у них установлено значение auto .
top right bottom left auto
Значения свойств height , top и bottom в процентах рассчитываются от высоты области просмотра. Свойство height в процентах не заменяется на height: auto; , даже когда ближайший родитель имеет height: auto; . Значения свойств width , margin , padding , left и right в процентах рассчитываются от ширины области просмотра.
Ширина и высота элемента с position: fixed; относительно области просмотра
Ширина элемента с position: fixed; без явно заданного значения устанавливается по содержимому. Элементы с display не block и position: fixed; ведут себя как элементы с display: block; и position: fixed; .
БлочныйСтрочный
Без явно заданной ширины и/или высоты размер элемента определяется расстоянием от left не auto до right не auto и/или от top не auto до bottom не auto (для IE8+).
Элемент
Стили, чтобы растянуть блок на всю ширину и высоту области просмотра окна браузера, iframe и т. п.:
left: 0; right: 0; top: 0; bottom: 0; /* или */ left: 0; right: 0; width: 100%; height: 100%; box-sizing: border-box;
С ограниченной шириной и/или высотой расстояние от left не auto до right не auto и/или от top не auto до bottom не auto определяет область, в рамках которой может перемещаться элемент с margin: auto; (для того, чтобы передвинуть элемент в центр верхней правой 1/4 части родителя см., left: 50%; right: 0; top: 0; bottom: 50%; ). Если расстояние от left не auto до right не auto меньше width , то свойство right игнорируется (см., left: 50%; right: 50%; ).
Элемент
position: fixed; и overflow не visible
Выходящая за границы родителя с overflow отличным от visible часть элемента с position: fixed; не будет скрыта. Даже если она выйдет за рамки области просмотра, горизонтальная или вертикальная полоса прокрутки не появится.
Элемент
position: fixed; и clip-path или clip
Свойство clip не рекомендуется использовать, так как оно устарело. Ему на смену пришло clip-path . Элемент с position: fixed; не выходит за рамки родителя с одним из них.
/* серым выделено то, что нужно только для clip, так как он работает лишь совместно с position: absolute; */ body < height: 500vh; >.parent .absolute < position: absolute; width: 100%; box-sizing: border-box; height: 5em; border: 1px solid red; clip: rect(0, auto, auto, 0); /* весь периметр родителя */ clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0); /* весь периметр родителя */ > .fixed < /* одинаковое положение для обоих элементов */ position: fixed; top: 1em; left: 5%; > .fixed.red < background: red; >.fixed.lightpink Зафиксированный Зафиксированный
position: fixed; не работает, когда у родителя свойства transform , perspective , filter или will-change имеют значение не none
Элемент с position: fixed; ведёт себя как элемент с position: absolute; относительно ближайшего родителя с transform , perspective , filter или will-change не none . Они создают новый контекст наложения. В браузерах разночтение.
нет нижеприведённых transform: translateX(0); filter: blur(0); perspective: 0; will-change: transform;
body < height: 500vh; >div > span < position: fixed; right: 0; background: lightpink; >Элемент
div по центру экрана
Вариант, который работает почти во всех версиях браузеров.
#fixed < position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 2; text-align: center; background: rgba(0,0,0,.7); /* IE+9 */ > #fixed:before < /* IE+8 */ content: ""; display: inline-block; height: 100%; vertical-align: middle; > .fixedсодержание
illyuziya Классно! А я всё думала, как «прилепляют» кнопочки и т.п. к краям экрана. Спасибо за «Шпаргалку. » — работа проделана колоссальная, а главное нужная. Анонимный Как сделать липкий слой чтобы находился рядом с основным блоком? NMitra Посмотрите, пожалуйста, возможные образцы.