Все способы вертикального выравнивания в css
Содержание:
- Выравнивание элементов формы
- Выравнивание текста по центру
- Шаг 2
- display: table-cell
- Как выровнять в html текст по центру?
- Как правильно написать “посередине”?
- Центрирование в области просмотра в CSS уровня 3
- Обзор AOC 24P2C — главный недостаток ноутбука исправлен
- Правило для «по середине» (существительное с предлогом)
- Что нужно для программирования на C++
- Приложения для Андроид для открытия файлов doc и docx
- Centering vertically in CSS level 3
- Выравнивание текста с помощью CSS
- CSS — Выравнивание по горизонтали
- Выравнивание элементов. align-items и align-self
- Стоит ли учиться на фотографа – плюсы и минусы профессии
- Display: flex и выравнивание
- Таблица
- Centering a block or image
- Правило для «посередине» (наречие)
- Метод line-height
- Определите, исправен ли дисплей
- Изображения
- Вертикальне центрування
- 2-ой метод
Выравнивание элементов формы
С помощью таблиц удобно определять положение полей формы, особенно, когда они
перемежаются с текстом. Один из вариантов оформления формы, которая предназначена
для ввода комментария, показан на рис. 3.
Рис 3. Расположение полей формы и текста
Чтобы текст возле полей формы был выровнен по правому краю, а сами элементы
формы — по левому, потребуется таблица с невидимой границей и двумя
колонками. В левой колонке будет размещаться собственно текст, а в правой текстовые
поля (пример 5).
Пример 5. Выравнивание полей формы
В данном примере, для тех ячеек, где требуется задать выравнивание по правому
краю, добавлен атрибут align=»right».
Чтобы надпись «Комментарий» располагалась по верхней границе многострочного
текста, для соответствующей ячейки устанавливается выравнивание по верхнему
краю с помощью атрибута valign.
Выравнивание текста по центру
Часто в декоративных целях требуется задать тексту выравнивание по центру, CSS в этом случае позволяет сократить время верстки. Раньше это делалось с помощью HTML-атрибутов, теперь же стандарт требует выравнивать текст с помощью таблиц стилей. В отличие от блоков, для которых нужно изменять внешние отступы, в CSS выравнивание текста по центру производится с помощью одной строки:
text-align:center;
Это свойство наследуется и передается от родителя всем потомкам. Влияет не только на текст, но и на другие элементы. Для этого они должны быть строчными (например, span) или строчно-блочными (любые блоки, которым задано свойство display: block). Последний вариант позволяет также изменять ширину и высоту элемента, более гибко настраивать отступы.
Часто на страницах align приписывают к самому тегу. Это сразу делает код невалидным, так как W3C признал атрибут align устаревшим. Использование его на странице не рекомендуется.
Шаг 2
Сейчас мы напишем простейший CSS, для размещения элементов на странице. Вы должны сохранить этот код в файле style.css. Именно на него прописана ссылка в html-файле.
Перед тем как сделать наш контент выровненным по центру, необходимо для body и html установить высоту 100%. Так как высота считается без внутренних и внешних отступов (padding и margin), то мы устанавливаем их (отступы) в 0, чтобы не было скроллбаров.
Нижний отступ для элемента «floater»-а равен минус половине высоты контента (400px), а именно -200px;
Сейчас ваша страничка должна выглядеть приблизительно так:
Поскольку элементу #centered установлено position:relative, мы можем использовать абсолютное позиционирование элементов внутри него. Затем установим overflow:auto; для элемента #content, чтобы появлялись скроллбары, в случае если не будет помещаться контент.
display: table-cell
Для вертикального выравнивания применяется свойство display: table-cell родительскому блоку, которое заставляет элемент эмулировать ячейку таблицы. Ему же задается высота и vertical-align: middle:
<!DOCTYPE html> <html> <head> <title>Вертикальное выравнивание. Способ display: table-cell</title> <style> .wrapper { display: table-cell; height: 100px; vertical-align: middle; } </style> </head> <body> <div class="wrapper"> Вертикально выравненная строка </div> </body> </html>
Плюсы:
- Простота;
- Выравнивает как одну, так и несколько строк.
Минусы:
- Не работает в IE7 и ниже;
- Без дополнительных конструкций сложно манипулировать горизонтальным положением внешнего блока;
- Не всем нравится сам факт использования display: table-cell.
Как выровнять в html текст по центру?
В HTML есть два варианта, которые не предполагают использование CSS.
-
1.Тег <center>
Очень простой в использовании тег, который выравнивает по центру все строчные элементы, которые в нём находятся, а именно:- текст,
- картинки,
- ссылки,
- а также теги <span>, <strong>, <b>, <gt;, <gt;, <input><select> и некоторые другие.
PHP
<center>
Текст, который нужно выровнять по центру.
</center>1
2
3<center>
Текст,которыйнужновыровнятьпоцентру.
<center>
-
2.Использование HTML атрибута align cо значением center.
Этот атрибут нам нужно дописать внутри блочного тега, в котором находится текст, который нам нужно выровнять по центру.
Это может быть тег <div>, <p>, <h1> <h2>… <h6> <blockquote> <form> <section> и некоторые другие.PHP
<h2 align=»center»>Выравнивание текста по центру при помощи HTML</h2></li>
1 <h2 align=»center»>ВыравниваниетекстапоцентруприпомощиHTML<h2><li>
Если у вас не срабатывает выравнивание заданное при помощи HTML, то, скорее всего, для этого блока уже задано выравнивание в CSS.
Так же атрибут align имеет и другие значения:
- align=’»left’ — выравнивание текста по левому краю
- align=’right’ – выравнивание по правому краю
- align=’justify’ – выравнивание текста по ширине
Как правильно написать “посередине”?
Русский язык богат на лексические единицы, которые вызывают затруднение в написании из-за уместных нескольких вариантов письменной передачи слова, или звуков, которые не отображаются на письме при сокращении согласных и т.д.
Как правило, именно незнание, как поступить в той или иной ситуации приводят к проявлению всей своей неграмотности. Не всегда получается заменить слово на соответствующий синоним для упрощения задачи себе. Как быть тогда? К примеру, очень трудно подобрать проверку к лексеме посередине, как пишется она: слитно или раздельно? Могут ли сосуществовать оба варианта?
Центрирование в области просмотра в CSS уровня 3
Контейнером по умолчанию для абсолютно позиционированных элементов является область просмотра. (В случае c браузером это окно браузера). Таким образом, центрирование элемента в области просмотра не вызывает сложности. Далее приведен полный пример. (В этом примере использован синтаксис HTML5.)
<html> <style> body { background: white } section { background: black; color: white; border-radius: 1em; padding: 1em; position: absolute; top: 50%; left: 50%; margin-right: -50%; transform: translate(-50%, -50%) } </style> <section> <h1>Красиво выровнен по центру</h1> <p>Этот текстовый блок выровнен вертикально по центру. <p>И горизонтально, если окно достаточно широкое. </section>
Вы можете увидеть результат в отдельном документе.
Правило ‘margin-right: -50%’ необходимо для компенсации ‘left:
50%’. Правило ‘left’ уменьшает доступную для элемента ширину на 50%. Поэтому визуализатор постарается сделать линии длиною не более половины ширины контейнера. Указав на то, что правое поле элемента находится правее на ту же самую величину, отметим, что максимальная длина линии снова равняется ширине контейнера.
Попробуйте изменить размер окна: вы увидите, что каждое предложение находится на одной строке, когда окно достаточно широкое. Только тогда, когда окно слишком узкое для всего предложения, это предложение будет разбито на несколько строк. Когда вы удалите правило ‘margin-right: -50%’ и снова измените размер окна, вы заметите, что предложения будут уже разбиты, хотя окно все еще шире строк текста в два раза.
(Использование свойства ‘translate’ для центрирования в области просмотра было впервые предложено “Charlie” в )
Обзор AOC 24P2C — главный недостаток ноутбука исправлен
Правило для «по середине» (существительное с предлогом)
Если же данное словосочетание представлено существительным с предлогом, его написание будет раздельным. Мы можем проверить себя постановкой вопроса от существительного «середине» к зависимому слову: По середине чего? Наличие зависимого слова, либо определения, способного «разбить» существительное и предлог, будут указывать на раздельное написание: По (самой) середине реки.
Примеры
- По середине парты нами была проведена простым карандашом тоненькая незаметная линия, обозначающая негласную границу наших владений.
- Лидия неспешно шла по середине аллеи, как будто даже походкой хотела подчеркнуть, что не склонна брать ни ту, ни другую сторону.
- По середине подоконника прополз муравей.
Что нужно для программирования на C++
Самое нужное — это желание. Не имея желания программировать, Вам придется очень сложно себя пересиливать и вскоре это надоест. Программирование — это умственный процесс, оно может утомлять, даже если у вас сильно очень «загорелось». Кстати, у многих желание пропадает после прочтения половины учебной книги по языку программирования, т.к. появляются какие-то сложные конструкции или неинтересные для вас вещи. Например, Вы хотели сразу начать писать игры и изучать для этого нужные команды(классы и функции), а вам рассказывают об умных указателях, перегрузке функций или лямбда-выражениях. Если Вас не пугает то, что Вам придется изучить множество всего, что может показаться не нужным на первый взгляд, то милости просим в ряды начинающих программистов.
Для самого процесса программирования нужен сам программист и его рабочее место(компьютер с нужным софтом). Если вы читаете это, то наверняка с компьютера, поэтому всё необходимое вы уже имеете, за исключением IDE.
Итак, вам нужно:
- Желание
- Компьютер
- Установленная IDE
IDE — интегрированная среда разработки, а если проще, то это программа в которой имеется целый набор полезных вещей: текстовый редактор для кода с подсветкой синтаксиса, компилятор (он переводит код вашей программы в машинный код, который понятен компьютеру), дебаггер и еще куча различных полезных приблуд.
Существует множество различных IDE для различных операционных систем.
IDE для Windows
Dev-C++. Самым оптимальным вариантом для программирования является IDE Dev-C++, есть все что нужно для начала, весит примерно 50 мегабайт. Простой интерфейс, легко разобраться. Скачать можно здесь.
IDE для Linux
Geany. Самый оптимальный вариант — Geany. Легковесно, просто, быстро и удобно.
QtCreator. Лучшая, на мой взгляд, IDE для Linux (И не только, она кроссплатформенная). Есть всё что нужно + Qt Framework из коробки.
Приложения для Андроид для открытия файлов doc и docx
Centering vertically in CSS level 3
CSS level 3 offers other possibilities. At this time (2014), a
good way to center blocks vertically without using absolute
positioning (which may cause overlapping text) is still under
discussion. But if you know that overlapping text will not be a
problem in your document, you can use the ‘transform’ property to
center an absolutely positioned element. For example:
This paragraph is vertically centered.
For a document that looks like this:
<div class=container3> <p>This paragraph… </div>
the style sheet looks like this:
div.container3 { height: 10em; position: relative } /* 1 */ div.container3 p { margin: 0; position: absolute; /* 2 */ top: 50%; /* 3 */ transform: translate(0, -50%) } /* 4 */
The essential rules are:
-
Make the container relatively positioned, which
declares it to be a container for absolutely positioned elements. -
Make the element itself absolutely positioned.
-
Place it halfway down the container with ‘top: 50%’. (Note
that 50%’ here means 50% of the height of the container.) - Use a translation to move the element up by half its own
height. (The ‘50%’ in ‘translate(0, -50%)’ refers to the height of
the element itself.)
Recently (since about 2015), another technique has also become
available in several CSS implementations. It is based on the new
‘flex’ keyword for the ‘display’ property. This keyword is meant
for use in graphical user interfaces (GUIs), but nothing stops you
from using it in a document, if the document happens to have the
right structure.
This paragraph is vertically centered.
the style sheet looks like this:
Выравнивание текста с помощью CSS
Начнем с атрибутов стиля, управляющих выводом текста в блочных элементах. Начнем со свойства text-align, которое является фактически заменой атрибута align (используется для выравнивания содержимого html-элементов, например абзацев p).
Свойство стиля text-align задает горизонтальное выравнивание текста и имеет всего четыре возможных значения:
Доступные значения этого правила определяют выравнивание, соответственно: left — по левому краю, right — по правому краю, center — по центру и justify — по ширине страницы (одновременно по левому и правому краю за счет увеличения расстояния между словами). Для примера, текст этой статьи выравнен по ширине страницы (если вы заметили у него ровные границы и слева и справа) с помощью правила text-align:justify.
По умолчанию, горизонтальное выравнивание выполняется по левому краю, поэтому специально указывать text-align:left не обязательно, если в родительских элементах не было указано другого выравнивания.
Примеры использования свойства:
Следующее свойство CSS text-ident задает отступ для красной строки, например для текста в теге абзаца p. Это правило также, как и text-align, применимо только для блочных элементов. Синтаксис:
Здесь допускаются абсолютные и относительные величины отступа. Абсолютные значения (px — пикселы, em, ex и др.) можно указывать как со знаком плюс, так и со знаком минус. Относительная величина обычно задается в процентах (%). Относительное значение рассчитывается от ширины области, которая отведена под текст. Так, css правило text-indent:50% задаст красную строку равную половине длины этой самой строки. По умолчанию отступ «красной строки» равен нулю. Пример:
Далее рассмотрим вертикальное выравнивание — свойство vertical-align. Это свойство применимо уже для всех html элементов и практически для всех означает выравнивание между собой строчных элементов с текстом относительно их базовой линии. Кроме тегов таблицы td и th, в которых по вертикали будет выравниваться весь контент. Синтаксис:
Рассмотрим каждое значение подробнее:
- baseline — выравнивание фрагмента текста по базовой линии родительского элемента. Это значение по умолчанию;
- sub — фрагмент текста изображается в виде нижнего индекса или подстрочным для родительского элемента;
- super — фрагмент текста изображается в виде верхнего индекса или надстрочным для родительского элемента;
- top — выравнивание фрагмента текста по верхнему краю родительского элемента;
- text-top — выравнивание фрагмента по верхнему краю текста родительского элемента;
- middle — выравнивание центра фрагмента текста по центру родительского элемента;
- bottom — выравнивание фрагмента текста по нижнему краю родительского элемента;
- text-bottom — выравнивание фрагмента по нижнему краю текста родительского элемента;
На рисунке ниже можно посмотреть поведение фрагментов теста при различных значениях свойства vertical-align в браузере Internet Explorer 11:
Кроме вышеперечисленных значений, можно указывать числовые значения. Так, правило CSS vertical-align:0 будет означать тоже самое, что и запись vertical-align:baseline. А правило vertical-align:10px будет смещать текст вверх на 10 пикселей относительно базовой линии. Для смещения текста вниз значение необходимо указывать с минусом.
Сдвиг также можно задавать в относительных единицах измерения, например в em и в ex или в процентах.
Для вертикального выравнивания содержимого ячеек таблицы в vertical-align следует использовать значения:
- top — для выравнивания содержимого по верхней границе ячейки;
- bottom — для выравнивания содержимого по нижней границе ячейки;
- middle — для выравнивания по центру ячейки (используется по умолчанию).
Для достижения нужного результата, обычно приходится экспериментировать с различными значениями свойства стиля vertical-align. Многочисленные возможные значения дают слишком разный результат в различных случаях.
CSS — Выравнивание по горизонтали
1. Выравнивание одного блочного элемента () относительно другого (в котором он расположен) по горизонтали:
HTML-код:
<div> ... <div class="block"> ... </div> </div>
CSS-код:
.block { margin-left: auto; margin-right: auto; }
Браузеры, которые поддерживают данное решение:
- Chrome 1.0+
- Firefox 1.0+
- Internet Explorer 6.0+
- Opera 3.5+
- Safari 1.0+
2. Выравнивание строчного () или строчно-блочного () элемента по горизонтали:
HTML-код:
<div class="parent"> ... <div class="child"> ... </div> </div>
CSS-код:
.parent { text-align: center; } .child { display: inline-block; }
Браузеры, которые поддерживают данное решение:
- Chrome 1.0+
- Firefox 3.0+
- Internet Explorer 8.0+
- Opera 7.0+
- Safari 1.0+
Выравнивание элементов. align-items и align-self
Последнее обновление: 18.04.2017
Свойство align-items
Свойство align-items также выравнивает элементы, но уже по поперечной оси (cross axis) (при расположении в виде строки по вертикали, при расположении в виде столбца — по горизонтали).
Это свойство может принимать следующие значения:
-
stretch: значение по умолчанию, при котором flex-элементы растягиваются по всей высоте (при расположении в строку) или по всей ширине
(при расположении в столбик) flex-контейнера -
flex-start: элементы выравниваются по верхнему краю (при расположении в строку) или по левому краю
(при расположении в столбик) flex-контейнера -
flex-end: элементы выравниваются по нижнему краю (при расположении в строку) или по правому краю
(при расположении в столбик) flex-контейнера -
center: элементы выравниваются по центру flex-контейнера
-
baseline: элементы выравниваются в соответствии со своей базовой линией
Выравнивание при расположении в строку:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Flexbox в CSS3</title> <style> .flex-container { display: flex; border:1px #ccc solid; height:5em; } .flex-start{ align-items: flex-start; } .flex-end{ align-items: flex-end; } .center{ align-items: center; } .baseline{ align-items: baseline; } .flex-item { text-align:center; font-size: 1em; padding: 1.2em; color: white; } .largest-item{ padding-top:2em; } .color1 {background-color: #675BA7;} .color2 {background-color: #9BC850;} .color3 {background-color: #A62E5C;} .color4 {background-color: #2A9FBC;} </style> </head> <body> <h3>Flex-start</h3> <div class="flex-container flex-start"> <div class="flex-item color1">Flex Item 1</div> <div class="flex-item color2">Flex Item 2</div> <div class="flex-item color3">Flex Item 3</div> <div class="flex-item color4">Flex Item 4</div> </div> <h3>Flex-end</h3> <div class="flex-container flex-end"> <div class="flex-item color1">Flex Item 1</div> <div class="flex-item color2">Flex Item 2</div> <div class="flex-item color3">Flex Item 3</div> <div class="flex-item color4">Flex Item 4</div> </div> <h3>Center</h3> <div class="flex-container center"> <div class="flex-item color1">Flex Item 1</div> <div class="flex-item color2">Flex Item 2</div> <div class="flex-item color3">Flex Item 3</div> <div class="flex-item color4">Flex Item 4</div> </div> <h3>Baseline</h3> <div class="flex-container baseline"> <div class="flex-item color1">Flex Item 1</div> <div class="flex-item color2 largest-item">Flex Item 2</div> <div class="flex-item color3">Flex Item 3</div> <div class="flex-item color4">Flex Item 4</div> </div> </html>
Аналогично свойство работает при расположении в столбик. Например, изменим стили flex-контейнера следующим образом:
.flex-container { display: flex; border:1px #ccc solid; flex-direction:column; width:12em; }
Свойство align-self
Свойство align-self позволяет переопределить значение свойства для одного элемента.
Оно может принимать все те же значения плюс значение «auto»:
-
auto: значение по умолчанию, при котором элемент получает значение от свойства , которое определено
в flex-контейнере. Если в контейнере такой стиль не определен, то применяется значение . -
stretch
-
flex-start
-
flex-end
-
center
-
baseline
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Flexbox в CSS3</title> <style> .flex-container { display: flex; border:1px #ccc solid; justify-content: space-between; align-items: stretch; height:12em; } .flex-item { text-align:center; font-size: 1em; padding: 1.2em; color: white; } .item1 {background-color: #675BA7; align-self: center; } .item2 {background-color: #9BC850; align-self: flex-start;} .item3 {background-color: #A62E5C; align-self: flex-end;} .item4 {background-color: #2A9FBC; align-self: center;} </style> </head> <body> <h3>Align-self</h3> <div class="flex-container"> <div class="flex-item item1">Flex Item 1</div> <div class="flex-item item2">Flex Item 2</div> <div class="flex-item item3">Flex Item 3</div> <div class="flex-item item4">Flex Item 4</div> </div> </html>
Здесь для flex-контейнера задано растяжение по высоте с помощью значения . Однако каждый из элементов переопределяет это поведение:
НазадВперед
Стоит ли учиться на фотографа – плюсы и минусы профессии
Display: flex и выравнивание
Если Вас не сильно заботят пользователи Explorer 8 или заботят так сильно, что Вы готовы ради них вставить кусок лишнего javascript-a, то можно применять «display: flex». Flex-блоки отлично справляются с проблемами выравнивания, и достаточно написать «margin: auto» для центрирования контента внутри.
Пока что такой способ практически не встречался мне, но особых ограничений для него нет.
.example-wrapper7{ display: flex; height: 300px; background: #AEB96A; } .example-wrapper7 img{ margin: auto; }
Ну вот и все, что я хотела написать про CSS выравнивание. Теперь центрирование контента не будет представлять собой проблему!
Таблица
В этом коде необходимо выделить несколько элементов: родителя, ячейку родителя и блок. Первому необходимо задать табличное отображение, второй – ячейку таблицы, а блоку присвоить модель строчного блока.
Ячейке (элементу с классом inner) присваиваем параметры text-align: center и vertical-align: middle. Недостаток способа – не работают скроллбары, да и вообще эмуляция таблицы для выравнивания считается нехорошим тоном в кругу веб-разработчиков.
Пример кода с применением этого метода.
<style> .parent { width: 100%; height: 100%; position: absolute; top: 0; left: 0; overflow: auto; } .block { width: 250px; height: 250px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; img { max-width: 100%; height: auto; display: block; margin: 0 auto; border: none; } } </style> <div class="parent"> <div class="inner"> <div class="block"> <img src="1450829233933958453855" alt=""/> </div> </div> </div>
Centering a block or image
Sometimes it is not the text that needs to be centered, but the
block as a whole. Or, phrased differently: we want the left and
right margin to be equal. The way to do that is to set the margins
to ‘auto’. This is normally used with a block of fixed width,
because if the block itself is flexible, it will simply take up all
the available width. Here is an example:
P.blocktext { margin-left: auto; margin-right: auto; width: 8em } ... <P class="blocktext">This rather...
This rather narrow block of text is centered.
Note that the lines inside the block are not centered (they are
left-aligned), unlike in the earlier example.
This is also the way to center an image: make it into block of
its own and apply the margin properties to it. For example:
IMG.displayed { display: block; margin-left: auto; margin-right: auto } ... <IMG class="displayed" src="..." alt="...">
Правило для «посередине» (наречие)
Чтобы понять, как правильно пишется слово «посередине», необходимо убедиться, что оно является наречием, образованным от существительного «середина» с помощью приставки по-. Наречие будет отвечать на вопрос где? Если слово «посередине» отвечает на этот вопрос и имеет обстоятельственное значение, не сомневайтесь: перед вами наречие слитного написания.
Примеры
- У левой колонны стояла сестра, у правой – брат, а я встал посередине.
- Исай споткнулся на пороге и растянулся прямо посередине комнаты.
- Практически все средневековые города возводились как система рвов и оборонительных насыпей с кремлём-детинцем посередине.
Метод line-height
Данный метод работает, когда вы хотите центрировать вертикально одну строчку текста. Все что нужно сделать — это задать высоту строки больше, чем размер шрифта.
По умолчанию свободное пространство будет распределено равномерно сверху и снизу текста. И строка будет отцентрирована вертикально. Часто высоту строки делают равной высоте элемента.
CSS:
#child { line-height: 200px; }
Данный метод работает во всех браузерах, хотя использовать его можно только для одной строки. Значение 200 px в примере выбрано произвольно. Можно использовать любые величины больше размера шрифта текста.
Определите, исправен ли дисплей
Изображения
Слайд-шоуГалерея слайд-шоуМодальные изображенияЛайтбоксАдаптивная Сетка изображенияСетка изображенияГалерея вкладокОверлей изображенияСлайд с наложенным изображениемМасштабирование наложения изображенияНазвание наложения изображенияЗначок наложения изображенияЭффекты изображенияЧерно-белое изображениеТекст изображенияТекстовые блоки изображенийПрозрачный текст изображенияПолное изображение страницыФорма на картинкеГерой изображениеПараллельные изображенияОкругленные изображенияАватар изображенияАдаптивные образыЦентрировать изображенияМиниатюрыПознакомьтесь с командойЛипкое изображениеОтражение изображенияВстряхните изображениеПортфолио галереяПортфолио с фильтрациейМасштабирование изображенияИзображение увеличительное стеклоПолзунок сравнения изображений
Вертикальне центрування
CSS рівня 2 не має властивість вертикального центрування.
Ймовірно, воно з’явиться у версії CSS рівня 3 (див. ). Але навіть в CSS2 ви можете центрувати блоки вертикально за
допомогою комбінування декількох властивостей. Хитрість полягає в
тому, щоб вказати, що зовнішній блок повинен бути відформатований
як осередок таблиці, тому що вміст комірки таблиці може бути вирівняно по центру вертикально.
Приклад, наведений нижче, демонструє центрування абзацу
всередині блоку, який має певну задану висоту. Окремий приклад показує абзац, який
центрирован вертикально в вікні браузера, тому що знаходиться
всередині блоку, позиціонованого абсолютно і по висоті вікна.
DIV.container { min-height: 10em; display: table-cell; vertical-align: middle } ... <DIV class="container"> <P>Цей маленький абзац... </DIV>
2-ой метод
Этот метод использует абсолютное позиционирование div-а, которому top устанавливается в 50%, а верхний отступ (margin-top) минус половине высоты контента. Это подразумевает, что объект должен иметь фиксированную высоту, которая определена в стилях CSS.
Поскольку высота фиксированная, вы можете установить overflow:auto; для div-а содержащего контент, таким образом, в случае если контент не будет влазить, то появятся скролл-бары.
Минусы
Когда не достаточно места, контент пропадает (например, div находится внутри body, а пользователь уменьшил окна, в этом случае скролл-бары не появятся.