Как в css выровнять текст по центру: множество простых способов
Доброго времени суток, подписчики и читатели данной публикации. Сегодня я хочу вдаться в подробности и рассказать вам, как в css выровнять текст по центру. В некоторых предыдущих статьях я косвенно затрагивал данную тему, поэтому кое-какие знания в этой области у вас имеются.
Однако в данной публикации я расскажу вам о всевозможных способах выравнивания объектов, а также объясню, как делать отступы и красные строки в абзацах. Так что давайте приступать к изучению материала!
Html и его детища <center> и align
Данный способ почти не используется, так как его вытеснили инструменты каскадных стилевых таблиц. Однако знание, что такой тег существует, вам не помешает.
Что касается валидации (данный термин подробно описан в статье «Как проверить html код на ошибки»), то в самой спецификации html осуждается использование <center>, так как для валидности необходимо использовать переходной <!DOCTYPE>.
Такой тип <!DOCTYPE> пропускает запрещенные элементы.
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>CENTER</title>
<meta charset=utf-8">
</head>
<body>
<center>
<p>Этот контент будет расположен по центру.</p>
</center>
</body>
</html>
<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»> <html> <head> <title>CENTER</title> <meta charset=utf-8″> </head> <body> <center> <p>Этот контент будет расположен по центру.</p> </center> </body> </html>
Теперь перейдем к атрибуту align. Он задает горизонтальное выравнивание объектов на страницах сайтов и вписывается после объявления тега. Обычно с его помощью контент можно выровнять по левому краю (left), по правому краю (right), по центру (center) и по ширине текста (justify).
Ниже я приведу пример, в котором картинку и абзац расположу по центру.
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE HTML>
<html>
<head>
<title>align</title>
<meta charset=utf-8">
</head>
<body>
<p align ="center"><img src="http://zverivdom.com/files/node_post/photo/prodajutsya-shhenki-sibirskij-khaski--speshite-ostalosy-dva-shhenka.jpg" alt="Щенок" align="middle"> Этот контент будет расположен по центру.</p>
</body>
</html>
<!DOCTYPE HTML> <html> <head> <title>align</title> <meta charset=utf-8″> </head> <body> <p align =»center»><img src=»http://zverivdom. com/files/node_post/photo/prodajutsya-shhenki-sibirskij-khaski—speshite-ostalosy-dva-shhenka.jpg» alt=»Щенок» align=»middle»> Этот контент будет расположен по центру.</p> </body> </html>
Заметьте, что для картинки разбираемый нами атрибут имеет несколько другие значения.
В примере я использовал align=»middle». Благодаря этому изображение выровнялось так, что предложение расположилось четко посредине картинки.
Инструменты центрирования в css
Css-свойствами, предназначенными для выравнивания блоков, текстового и графического контента, пользуются намного чаще. Это связанно в первую очередь с удобством и гибкостью реализации стилей.
Итак, начнем с первого свойства центрирования текста — это text- align.
Оно функционирует так же, как и align в html разметке. Среди ключевых слов можно выбрать одно из общего списка или унаследовать характеристики предка (inherit).
Хочу отметить, что в css3 можно установить еще 2 параметра: start – в зависимости от правил написания текста (справа налево или наоборот) устанавливает выравнивание слева или справа (аналогично работе left или right) и end – противоположен start (при написании текста слева направо действует как right, при написании справа налево – left).
Расскажу о небольшой фишке. При выборе значения justify последняя строка может некрасиво болтаться снизу. Для того чтобы ее, например, расположить по центру, можно воспользоваться свойством text-align-last.
Для выравнивания содержимого сайта или ячеек таблиц по вертикали используется свойство vertical-align. Ниже я описал основные ключевые слова элемента.
Ключевое слово
Предназначение
baseline
Указывает выравнивание по линии предка, которая называется базовой. Если такой линии у объекта-предка не имеется, то выравнивание происходит по нижнему border-у.
middle
Середина видоизменяемого объекта выравнивается по базовой линии, к которой добавляется пол высоты элемента-родителя.
bottom
Нижняя часть выбранного контента подстраивается под основание объекта, находящегося ниже всех.
top
Аналогично bottom, только с верхней частью объекта.
Выравнивание по левому краю (left). Здесь текст будет выравниваться по левому краю. Чтобы увидеть этот эффект текста должно быть много и он должен не помещаться на одну строку. Вот так вот, товарищи. Давайте строем ходить в боа. Ещё текст. Море текста, горы текста. Огромное количество текста.
</p>
<p>
Выравнивание по центру (center). Здесь текст будет выравниваться по центру. Чтобы увидеть этот эффект текста должно быть много и он должен не помещаться на одну строку. Вот так вот, товарищи. Давайте строем ходить в боа. Ещё текст. Море текста, горы текста. Огромное количество текста.
</p>
<p>
Выравнивание по правому краю (right). Здесь текст будет выравниваться по ширине. Чтобы увидеть этот эффект текста должно быть много и он должен не помещаться на одну строку. Вот так вот, товарищи. Давайте строем ходить в боа. Ещё текст. Море текста, горы текста. Огромное количество текста.
</p>
<p>
Выравнивание по ширине (justify). Здесь текст будет выравниваться по правому краю. Чтобы увидеть этот эффект текста должно быть много и он должен не помещаться на одну строку. Вот так вот, товарищи. Давайте строем ходить в боа. Ещё текст. Море текста, горы текста. Огромное количество текста.
</p>
<p>
Выравнивание по началу текста (start). Здесь текст будет выравниваться по началу. Разница будет заметна при использовании языков с начертанием справа налево. Чтобы увидеть этот эффект текста должно быть много и он должен не помещаться на одну строку. Вот так вот, товарищи. Давайте строем ходить в боа. Ещё текст. Море текста, горы текста. Огромное количество текста.
</p>
<p>
Выравнивание по концу текста (end). Здесь текст будет выравниваться по концу. Разница будет заметна при использовании языков с начертанием справа налево. Чтобы увидеть этот эффект текста должно быть много и он должен не помещаться на одну строку. Вот так вот, товарищи. Давайте строем ходить в боа. Ещё текст. Море текста, горы текста. Огромное количество текста.
</p>
<p>
<a href=»https://urvanov.ru/2016/02/15/css-text-align/»>CSS text-align (выравнивание текста по ширине в CSS)</a>
</p>
</body>
</html>
Css положение блока по центру. Как в HTML сделать выравнивание текста по центру, ширине, краям страницы
Выравнивание элементов по горизонтали и вертикали можно сделать различными способами. Выбор способа зависит от типа элемента (блочный или строчный), от типа его позиционирования, размеров и т.д.
1. Горизонтальное выравнивание по центру блока/страницы
1.1. Если для блока задана ширина:
div { width: 300px; margin: 0 auto; /*центрируем элемент по горизонтали в пределах родительского блока*/ }
Если нужно выровнять строчный элемент таким способом, ему нужно задать display: block;
1.2. Если блок вложен в другой блок и для него не задана/задана ширина:
.wrapper {text-align: center;}
1.3. Если для блока задана ширина и его нужно зафиксировать по центру родительского блока:
.wrapper {position: relative; /*задаем для родительского блока относительное позиционирование, чтобы потом абсолютно позиционировать блок внутри него*/} .box { width: 400px; position: absolute; left: 50%; margin-left: -200px; /*смещаем блок влево на расстояние, равное половине его ширины*/ }
1.4. Если для блоков не задана ширина, можно центрировать с помощью родительского блока-обертки:
. wrapper {text-align: center; /*располагаем содержимое блока по центру*/} .box { display: inline-block; /*располагаем блоки в ряд по горизонтали*/ margin-right: -0.25em; /*убираем правый отступ между блоками*/ }
2. Вертикальное выравнивание
2.1. Если текст занимает одну строчку, например, для кнопок и пунктов меню:
.button { height: 50px; line-height: 50px; }
2.2. Для выравнивания блока по вертикали внутри родительского блока:
2.4. Если для блока задана ширина и высота, и его нужно выровнять по ц
Урок 5. Выравнивание текста в CSS
В данном уроке Вашему вниманию предлагаю средства CSS, благодаря которым можно выравнивать текст. Для этого в CSS есть свойство text-align. Рассмотрим подробнее все четыре значения и пример работы выравнивания (в конце статьи).
Выравнивание текста в CSS
У свойства text-align имеется 4 стандартных значения:
right — выравнивание по правому краю.
center — выравнивание по левому краю.
left — выравнивание по левому краю.
justify — выравнивание по ширине. Для этого браузер создает пробелы между символами, что бы достичь этого результата.
Код CSS
.text_center {
text-align: center; /* выравнивание по центру */
}
.text_left {
text-align: left; /* выравнивание по левому краю */
}
Пример выравнивания текста в CSS
Теперь перейдём к примеру, где рассмотрим действие выравнивания текста.
Код HTML и CSS
<html>
<head>
<title>Пример выравнивания текста в CSS</title>
<style>
. text_center {
text-align: center; /* выравнивание по центру */
}
.text_left {
text-align: left; /* выравнивание по левому краю */
}
.text_right {
text-align: right; /* выравнивание по правому краю */
}
.text_justify {
text-align: justify; /* выравнивание по ширине */
}
</style>
</head>
<body>
<p class="text_center">Текст по центру</p>
<p class="text_left">Текст по левому краю</p>
<p class="text_right">Текст по правому краю</p>
<p class="text_justify">Текст по ширине</p>
</body>
</html>
Демонстрация Скачать исходники В результате независимо от масштабирования окна текст будет выравниваться согласно значению свойства text-align.
Спасибо за внимание!
Html выровнять текст по вертикали
Выравнивание элементов на веб-странице может оказаться не такой легкой задачей, особенно если речь идет об выравнивание текста по вертикали. Этот вопрос часто встречается на форумах, и особую трудность решение этого вопроса вызывает у начинающих пользователей. Но на самом деле здесь сложного ничего нет. Все что нужно, это немного владеть знаниями каскадной таблицы стилей CSS. Так как это все делается за счет ее правил.
Выравнивание текста по вертикали можно добиться по меньшей мере пятью разными способами. Каждый из них по-своему хорош, учитывая обстоятельства и детали ситуации. Мы рассмотрим несколько примеров, а вы исходя из условий, подберете себе подходящее ращение.
Первый метод с line-height
Первый способ очень банальный и с большим недостатком, что ограничивает его в применении. Но все же, как ни крути, он может пригодиться и даже принести нужный результат. Это будет условным выравниванием, так как, по сути, мы задаем высоту строки в соответствии с высотой блока, использовав свойство line-height .
первый пример. демо №1
Точно таким же способом возможно реализовать картинку по центру вертикали, но добавив одно новое свойство vertical-align: middle; .
Выравнивание со свойством position
Этот метод широко используется во многих задачах CSS, не исключая и нашей поставленной задачки. Но следует отметить, что он не полностью совершенен и имеет свои побочные эффекты. Это связано с тем, что центрирование элемента, задаваемое в процентах, будет центрироваться по левому верхнему краю внутреннего блока.
Поэтому нужно задать отрицательное значение к внешним отступам. Размер отступа сверху должен соответствовать половине высоты внутреннего блока, а отступ слева — на половину ширины. Таким образом, получим абсолютный центр.
В этом варианте, пожалуй, обязательно знать точную высоту и ширину дочернего элемента. Иначе, может возникнуть некорректность центрирования.
Выравнивание со свойством table
Здесь используем старую технику, превратив элементы в таблицу с ячейками. При этом теги таблицы
применять не будет, а воспользуемся свойствами CSS, такими как display: table; , display: table-cell; . В старых версиях IE данный способ не работает, да и не нужно. Ими, вообще, еще кто-то пользуется?
Выравнивание со свойством flex
Это идет уже более специфичный вариант со свойствами, которые не так часто встречаются в верстке сайта. Но, тем не менее они в редких случаях очень полезны.
Выравнивание со свойством transform
И последний в нашем списке, но далеко не последний в использовании способ. Сдвигаем по вертикали элемент на желаемое значение, в данном случае на -50%.
Приветствую вас на сайте Impuls-Web!
Делая верстку страницы, вы неизбежно столкнетесь с необходимостью сделать выравнивание текста по вертикали css, и у начинающих веб-разработчиков это может вызвать некоторые сложности.
В сегодняшней статье я хотела бы рассмотреть наиболее эффективные способы выравнивания текста по вертикали в CSS, которые вы смогли бы запомнить или добавить к себе куда-нибудь в шпаргалку и использовать в зависимости от ситуации.
Навигация по статье:
Свойство для вертикального выравнивания vertical-align
Базовым свойством, которое позволяет сделать в CSS выравнивание по вертикали является vertical-align.
В основном для выравнивания текста по вертикали css вам понадобятся значения top, middle, bottom. Они подходят для большинства случаев.
Так, в случае если нам нужно выровнять текст в каком-то блоке, то для начала оборачиваем его в тег
и задаем для него стиль vertical-align:middle;
Но на практике все оказывается немного сложней. Дело в том что данное свойство срабатывает только для табличных элементов и для того чтобы оно заработало нужно будет пойти на одну хитрость.
Для родительского элемента, то есть блока, в котором находится текст, мы задаем свойство display:table, а для абзаца с тексом – display:table-cell. В этом случае блок преобразуется в таблицу, а абзац в ячейку таблицы.
Выравнивает элемент по вертикали относительно своего родителя, окружающего текста или ячейки таблицы.
Синтаксис
vertical-align: baseline|bottom|middle|sub|super|text-bottom|text-top|top|inherit | значение | проценты
Значения
В качестве значения также можно использовать проценты, пикселы или другие доступные единицы. Положительное число смещает элемент вверх относительно базовой линии, в то время как отрицательное число опускает его вниз. При использовании процентов, отсчет ведется от значения свойства line-height , при этом 0% аналогично значению baseline .
Для выравнивания по вертикали в ячейках таблицы применяются следующие значения.
baseline Выравнивает базовую линию ячейки с базовой линией первой текстовой строки или другого вложенного элемента. bottom Выравнивает по нижнему краю ячейки. middle Выравнивает по середине ячейки. top Выравнивает содержимое ячейки по ее верхнему краю.
Internet Explorer до версии 7.0 включительно не поддерживает значение inherit .
Центрирование в CSS: полное руководство
Центрирование элементов — самая популярная причина для жалоб на CSS. «Ну почему нельзя было сделать всё попроще?» — возмущаются все кому не лень. Думаю, проблема не в том, что это сложно сделать, а в том, что способов центрирования элементов такое множество, что бывает трудно выбрать подходящий.
Давайте построим древовидную схему для принятия решения и будем надеяться, что это всё немного упростит.
Мне нужно отцентрировать элемент…
По горизонтали
Является ли элемент строчным или строчно-* (как текст или ссылки)?
Строчные элементы внутри родительского блочного можно центрировать так:
.center-children {
text-align: center;
}
Это сработает для элементов с типом отображения inline, inline-block, inline-table, inline-flex и т.д.
Является ли элемент блочным?
Блочный элемент можно центрировать, указав для margin-left и margin-right значение auto (а также прописав для него конкретный width, иначе он займёт всю ширину родительского контейнера и не будет нуждаться в центрировании). Для этого часто используют сокращённую запись:
.center-me {
margin: 0 auto;
}
Способ работает независимо от ширины центрируемого блочного элемента и его родителя.
Обратите внимание, что заставить элемент плавать по центру с помощью float нельзя. Хотя есть одна хитрость.
Вам нужно центрировать несколько блочных элементов?
Если вы имеете дело с двумя и больше блочными элементами, размещёнными в ряд, которые нужно центрировать по горизонтали, возможно, вам потребуется изменить тип display. Вот что произойдёт, если указать для них тип отображения inline-block или применить flexbox:
В том же случае, если у вас несколько блочных элементов размещены друг над другом, вполне сработает приём с автоматическими отступами:
По вертикали
С вертикальным центрированием в CSS все немного сложнее:
Это элемент строчного типа или строчно-* (как текст или гиперссылки)?
Он помещается в одну строку?
Иногда строчные/текстовые элементы могут выглядеть отцентрированными по вертикали только потому, что у них одинаковые верхнее и нижнее поля (padding).
Если использование полей по какой-либо причине невозможно, а вы хотите отцентрировать текст, который точно не будет переноситься в следующую строку, можно использовать хитрость с установкой line-height равной высоте элемента, это отцентрирует текст:
Центрирование нескольких строчек текста также можно сделать с помощью установки одинаковых верхнего и нижнего полей, однако, если этот вариант вам не подходит, можно сделать элемент, в который помещён текст, ячейкой таблицы — буквально или же просто её имитацией на CSS. За центрирование в этом случае отвечает свойство vertical-align, несмотря на то, что обычно он просто выравниванивает по горизонтали элементы в ряду. (Более подробно об этом.)
Если вы имеете дело с некоей имитацией таблицы, может быть, стоит использовать flexbox? Один дочерний flex-элемент можно довольно легко отцентрировать во flex-родителе.
Исходный код этого интерактивного примера хранится в репозитории GitHub. Если вы хотите внести свой вклад в проект интерактивных примеров, клонируйте https://github.com/mdn/interactive-examples и отправьте нам запрос на перенос.
Свойство vertical-align можно использовать в двух контекстах:
Для вертикального выравнивания прямоугольника встроенного элемента внутри содержащего его линейного поля.Например, его можно использовать для вертикального расположения в строке текста:
Для вертикального выравнивания содержимого ячейки в таблице:
<таблица>
базовый уровень
вверх
средний
снизу
Существует теория, согласно которой, если кто-нибудь когда-нибудь узнает, для чего именно Вселенная и почему она существует, она мгновенно исчезнет и будет заменена чем-то еще более странным и необъяснимым.
Есть еще одна теория, согласно которой это уже произошло.
Обратите внимание, что vertical-align применяется только к элементам inline, inline-block и table-cell: вы не можете использовать его для вертикального выравнивания элементов уровня блока.
Свойство vertical-align указано как одно из значений, перечисленных ниже.
Значения для встроенных элементов
Родительские значения
Эти значения выравнивают элемент по вертикали относительно его родительского элемента:
базовый
Выравнивает базовую линию элемента с базовой линией его родительского элемента. Базовая линия некоторых заменяемых элементов, таких как , не указана в спецификации HTML, что означает, что их поведение с этим ключевым словом может различаться в разных браузерах.
переходник
Выравнивает базовую линию элемента с базовой линией нижнего индекса его родительского элемента.
супер
Выравнивает базовую линию элемента с верхним индексом его родительского элемента.
текст вверху
Выравнивает верх элемента по верхнему краю шрифта родительского элемента.
текст внизу
Выравнивает нижнюю часть элемента по нижней части шрифта родительского элемента.
средний
Выравнивает середину элемента с базовой линией плюс половину высоты родительского элемента по оси x.
<длина>
Выравнивает базовую линию элемента по заданной длине над базовой линией его родительского элемента. Допускается отрицательное значение.
<процент>
Выравнивает базовую линию элемента по заданному проценту над базовой линией его родительского элемента, при этом значение является процентным соотношением свойства line-height . Допускается отрицательное значение.
Относительные значения линии
Следующие значения выравнивают элемент по вертикали относительно всей линии:
верхняя
Выравнивает верх элемента и его потомков с верхом всей строки.
нижний
Выравнивает нижнюю часть элемента и его потомков по нижней части всей строки.
Для элементов, не имеющих базовой линии, вместо этого используется край нижнего поля.
Значения ячеек таблицы
baseline (и sub , super , text-top , text-bottom , и )
Выравнивает базовую линию ячейки с базовой линией всех других ячеек в строке, которые выровнены по базовой линии.
верхняя
Выравнивает верхний край заполнения ячейки по верхнему краю строки.
средний
Центрирует поле заполнения ячейки в строке.
нижний
Выравнивает нижний край заполнения ячейки с нижней частью строки.
Допускаются отрицательные значения.
Формальное определение
Формальный синтаксис
базовый уровень | суб | супер | текст вверху | текст внизу | средний | наверх | внизу | <процент> | <длина>
Примеры
Базовый пример
HTML
An изображение с выравниванием по умолчанию.
Изображение с выравниванием по верхнему краю текста.
Изображение с выравниванием текста по нижнему краю.
Если изменения отобразятся не через несколько часов, это не поможет 🙁
Я могу попробовать настраивать по одному столбцу за раз и посмотреть, к чему это приведет.
Все равно спасибо Тобиас ~
Привет,
, он должен работать напрямую, если не задействовано кеширование. Но, не имея возможности проверить страницу, я ничем не могу здесь помочь 🙁 Вы можете временно сделать эту страницу активной?
С уважением, Тобиас
Домен указывает на текущий веб-сайт, и у меня нет убийственных навыков WP, чтобы просто сделать эту страницу видимой с доменным именем или без него 🙁
Я могу сделать снимок и опубликовать его по URL-адресу, чтобы вы его увидели, но он выглядит как таблица HTML с завершающим после текста в некоторых ячейках или дополнительным nbsp или (как я это сделал) шрифт в одной ячейке «мелкий» (неровности вертикального выравнивания). В HTML я бы добавил valign к тегам tr, чтобы весь текст располагался вверху, но здесь это не работает, поэтому я думаю, вам нужно увидеть бэкэнд моей установки WP … потому что это должен быть CSS в теме Native Church поверх езда.
Как вы думаете?
Привет,
хорошо, пожалуйста, опубликуйте снимок экрана, это может быть отправной точкой, возможно.
Мне не нужен доступ к бэкэнду, так как я могу видеть код CSS на интерфейсе.
С уважением, Тобиас
Вот … Дата в строке немного выше, потому что шрифт немного меньше.
снимок экрана
Привет,
хорошо, спасибо! Итак, чего вы хотите здесь достичь? Насколько я могу судить, все выровнено по верхнему краю.
С уважением, Тобиас
Что ж, предварительный просмотр не показывает его столько, сколько фактическая страница, и я вошел и удалил все теги форматирования, что улучшило его, но если вы посмотрите, вы можете увидеть « дату », которая меньше немного выше, чем весь другой текст.
Мне все еще любопытно, почему CSS не работает….но теперь я могу жить с этим. По крайней мере, пока мне не понадобятся другие теги форматирования.
Спасибо Тобиасу ~
Привет,
действительно, меньшая дата по какой-то причине немного выше … Возможно, здесь влияют свойства CSS, такие как line-height .
С уважением, Тобиас
Общие сведения о выравнивании по вертикали или «Как (не) центрировать содержимое по вертикали»
Часто задаваемые вопросы по различным каналам IRC, на которых я помогаю: Как мне вертикально центрировать мои вещи внутри этой области? За этим вопросом часто следует Я использую vertical-align: middle , но это не работает!
Проблема здесь тройная:
HTML-макет традиционно не предназначен для определения вертикального поведения.По самой своей природе он масштабируется по ширине, и содержимое перетекает на соответствующую высоту в зависимости от доступной ширины. Традиционно горизонтальный размер и макет просты; Вертикальный размер и макет были выведены из этого.
Причина, по которой vertical-align: middle не выполняет то, что требуется, в том, что автор не понимает, что он должен делать, но…
… это потому, что спецификация CSS действительно облажалась (на мой взгляд) — vertical-align используется для определения двух совершенно разных вариантов поведения в зависимости от того, где он используется.
выравнивание по вертикали в ячейках таблицы
При использовании в ячейках таблицы vertical-align выполняет то, что большинство людей ожидает, а именно имитирует (старый, устаревший) атрибут valign . В современном браузере, соответствующем стандартам, следующие три фрагмента кода делают то же самое:
, но вы никогда не должны использовать valign ->
...
...
Показанный в вашем браузере выше (с соответствующими оболочками) отображается как:
с использованием valign = "middle"
с использованием valign = "bottom"
с использованием vertical-align: middle
с использованием vertical-align: bottom
с использованием display: table-cell; вертикальное выравнивание: средний
с использованием display: table-cell; вертикальное выравнивание: снизу
с выравниванием по вертикали на встроенных элементах
Однако, когда vertical-align применяется к встроенным элементам, это совершенно новая игра.В этой ситуации он ведет себя так же, как (старый, устаревший) атрибут align для элементов . В современном браузере, соответствующем стандартам, следующие три фрагмента кода делают то же самое:
foo bar
Вот как отображается приведенный выше код в вашем браузере:
В этом абзаце у меня есть два изображения — и — в качестве примеров.
В этом абзаце у меня есть два изображения — и — в качестве примеров.
В этом абзаце у меня в качестве примера приведен симпатичный маленький display: inline-block vertical-align: middle и display: inline-block vertical-align: text-bottom.
с выравниванием по вертикали на других элементах
Технически этот атрибут CSS не применяется ни к каким другим типам элементов. Когда начинающий разработчик применяет vertical-align к нормальным блочным элементам (например, стандартный
), большинство браузеров устанавливают значение для наследования всем встроенным дочерним элементам этого элемента.
Итак, как сделать Я что-то вертикально центрирую ?!
Если вы читаете эту страницу, вероятно, вас не слишком интересует, почему то, что вы делаете, неправильно. Вы, наверное, хотите знать, как это делать правильно.
Метод 1
В следующем примере делаются два (нетривиальных) предположения. Если вы можете выполнить эти предположения, то этот метод для вас:
Вы можете поместить содержимое, которое вы хотите центрировать, внутри блока и указать фиксированную высоту для этого внутреннего блока содержимого.
Абсолютное позиционирование этого контента — это нормально. (Обычно нормально, поскольку родительский элемент, внутри которого центрируется контент, все еще может находиться в потоке.
Если вы согласны с вышеуказанными потребностями, решение:
Укажите родительский контейнер как позиция: относительная или позиция: абсолютная .
Укажите фиксированную высоту дочернего контейнера.
Установите положение : абсолютное и top: 50% в дочернем контейнере, чтобы переместить верхнюю часть вниз к середине родительского контейнера.
Установить margin-top: -yy , где yy — половина высоты дочернего контейнера для смещения элемента вверх.
Пример этого в коде:
...
Эй, смотрите! Я по центру вертикально!
Как это мило ?!
В вашем браузере приведенный выше пример отображается как:
Эй, смотрите! Я по центру вертикально!
Как это мило ?!
Метод 2
Этот метод требует, чтобы вы могли удовлетворить следующие условия:
У вас есть только одна строка текста, которую вы хотите центрировать.
Вы можете указать фиксированную высоту для родительского элемента.
Если вы согласны с вышеуказанными потребностями, решение:
Установите высоту строки родительского элемента на желаемую фиксированную высоту.
Пример этого в коде:
...
Эй, это вертикально по центру.Ура!
В вашем браузере приведенный выше пример отображается как: