Выровнять текст по центру по вертикали в кнопке
Я хотел бы выровнять оба набора текста в кнопках по центру по вертикали. Как мне это сделать?
Моя Демо-Версия: http://jsfiddle.net/fc6317ne/
a.block {
color: #ffffff;
background: #F0F0F0;
font-size: 0.8rem;
height: 60px;
text-align: center;
text-decoration: none;
width: 30%;
float: left;
margin-right: 10px;
margin-bottom: 10px;
display: inline-block;
vertical-align: middle;
}
<a href="">Button</a>
<a href="">Button That Has More Words</a>
html
css Поделиться Источник michaelmcgurk 25 марта 2015 в 12:21
3 ответа
- Выравнивание текста по вертикали и Центру
У меня есть h2 внутри body ,и я хочу выровнять этот текст по вертикали и по центру. Я знаю, что могу использовать position: absolute; , а затем margin-top: HALF OF HEIGHT; , но этот h2 меняется при обновлении и имеет разную ширину. Высота всегда одна и та же, так что я могу выровнять ее по…
- Как выровнять по центру текст в строке html table?
Я использую HTML <table> и хочу выровнять текст <td> по центру в каждой ячейке. Как выровнять текст по центру по горизонтали и вертикали?
3
Вы можете использовать свойство display:table
на якоре, а затем обернуть текст внутри промежутка и отобразить его как
table-cell
с вертикальным выравниванием промежутка посередине.Для этого вам не нужно будет регулировать высоту линии или заполнение . Fiddle
a.
block {
color: #red;
background: #F0F0F0;
font-size: 0.8rem;
height: 60px;
text-align: center;
text-decoration: none;
width: 30%;
float: left;
margin-right: 10px;
margin-bottom: 10px;
display: table;
}
span {
display: table-cell;
vertical-align: middle;
}
<a href=""><span>Button</span></a> <a href=""><span>Button That Has More Words</span></a>
Поделиться Naeem Shaikh 25 марта 2015 в 12:25
0
Просто добавьте line-height: 60px;
к вашему a.block
css
Fiddle: http://jsfiddle.net/ghorg12110/fc6317ne/1/
Поделиться Magicprog.fr 25 марта 2015 в 12:23
0
Попробуйте вот так: демо
CSS:
a.block {
color: #000;
background: #F0F0F0;
font-size: 0.8rem;
height: 60px;
line-height:60px;
text-align: center;
text-decoration: none;
width: 30%;
float: left;
margin-right: 10px;
margin-bottom: 10px;
display: block;
vertical-align: middle;
}
span{
line-height:22px !important;
display: inline-block;
vertical-align: middle;
}
HTML:
<a href=""><span>Button</span></a>
<a href=""><span>Button That Has More Words</span></a>
Поделиться G.L.P 25 марта 2015 в 12:25
Похожие вопросы:
Я хочу выровнять текст по вертикали в поле select
Я хочу выровнять текст по вертикали в поле select. Я попробовал использовать select{ verticle-align:middle; } однако он не работает ни в одном браузере. Хром, кажется, чтобы выровнять текст в поле…
Как разместить текст по центру изображения?
Я пытаюсь поместить какой-то текст поверх изображения кнопки. Мне удается выровнять его по центру слева направо на кнопке,но вертикальное выравнивание не делает трюка для rest. Есть ли способ в CSS,…
Чтобы выровнять текст по вертикали в ячейке таблицы, я использую vertical-align: middle в td . Но вышесказанное не работает с divs, spans, header и другими элементами, не относящимися к таблице….
Выравнивание текста по вертикали и Центру
У меня есть h2 внутри body ,и я хочу выровнять этот текст по вертикали и по центру. Я знаю, что могу использовать position: absolute; , а затем margin-top: HALF OF HEIGHT; , но этот h2 меняется при…
Как выровнять по центру текст в строке html table?
Я использую HTML <table> и хочу выровнять текст <td> по центру в каждой ячейке. Как выровнять текст по центру по горизонтали и вертикали?
Как выровнять текст по вертикали по центру в NSTextField?
У меня есть NSTextField, и я хочу выровнять текст по вертикали по центру. В основном мне нужен ответ NSTextField о том, как мне вертикально центрировать текст UITextField? У кого-нибудь есть…
CSS: как выровнять содержание текста по горизонтали-по центру и по вертикали-по центру?
как я могу выровнять текст внутри div, в horizonally-по центру и по вертикали-по центру? <div style=height: 300px;> <p>Envision various details for your big day with help from our photo…
Как лучше всего выровнять текст по центру HTML

Как выровнять по вертикали центр * (Звезда) в метке или кнопке
Я попытался выровнять символ звезды по центру(*) в пользовательской кнопке, но не смог. Как выровнять по вертикали центр так же, как и другие символы(1,2…) ?
выровнять текст по центру по вертикали в div, в столбце начальной загрузки
Выравнивание полей CSS — CSS
Модуль CSS Box Alignment определяет CSS-функции, которые относятся к выравниванию ящиков в различных моделях макета CSS: макет блока, макет таблицы, гибкая макет и макет сетки. Модуль нацелен на создание согласованного метода выравнивания по всем CSS. В этом документе описываются общие понятия, содержащиеся в спецификации.
Примечание: Документация для каждого метода макета будет подробно описана, как там применяется шкала выравнивания.
У CSS традиционно были очень ограниченные возможности выравнивания. Мы могли выровнять текст, используя text-align
, центральные блоки, используя auto margin
s, а в макетах таблицы или встроенного блока, используя vertical-align
свойство. Выравнивание текста теперь покрывается модулями Inline Layout и CSS Text, и впервые в Box Alignment мы имеем полные возможности горизонтального и вертикального выравнивания.
Если вы изначально узнали Flexbox, вы можете считать эти свойства частью спецификации Flexbox и некоторые из свойств действительно перечислены в Level 1 Flexbox. Однако в спецификации отмечается, что спецификация Box Alignment должна рассматриваться, поскольку она может добавить дополнительные возможности по сравнению с тем, что в настоящее время находится в Flexbox.
Следующие примеры демонстрируют, как некоторые из Box Alignment Properties применяются в Grid and Flexbox.
Пример выравнивания раскладки сетки CSS
В этом примере с использованием Grid Layout, в контейнере сетки есть дополнительное пространство после прокладки фиксированных дорожек ширины на основной оси. Это пространство распределяется с помощью justify-content
. На блочной (поперечной) оси выравнивание элементов внутри их областей сетки контролируется с помощью align-items
align-self
в центр.Пример выравнивания Flexbox
В этом примере три элемента гибкости выровнены по главной оси с использованием justify-content
и на поперечной оси с использованием align-items
. Первый элемент переопределяет align-items
, заданные в группе align-self
по center
.
Спецификация описывает некоторую терминологию выравнивания, чтобы упростить обсуждение этих свойств выравнивания вне их реализации в рамках конкретного метода компоновки. Существуют также некоторые ключевые концепции, которые являются общими для всех методов макета.
Связь с режимами записи
Выравнивание связано с режимами записи, когда мы выравниваем элемент, который мы не рассматриваем, если мы сопоставляем его с физическими размерами сверху, справа, снизу и слева. Вместо этого мы описываем выравнивание с точки зрения начала и конца конкретного измерения, с которым мы работаем. Это гарантирует, что выравнивание работает так же, как в режиме записи, который имеет документ.
Два измерения выравнивания
При использовании свойств выравнивания ячеек вы выровняете содержимое по одной из двух осей — inline (или main) оси и block (или cross) оси. Внутренняя ось — это ось, по которой используются слова в потоке предложения в режиме записи — для английского языка, например, встроенная ось горизонтальна. Ось блока — это ось, вдоль которой выложены блоки, такие как элементы абзаца, и проходит по оси Inline.
При выравнивании элементов на встроенной оси вы будете использовать свойства, начинающиеся с justify-
:
При выравнивании элементов на оси блока вы будете использовать свойства, которые начинаются с align-
:
Flexbox добавляет дополнительное усложнение в том, что указанное выше верно, когда flex-direction
установлено в row
. Свойства меняются местами, когда flexbox установлен в column
. Поэтому при работе с flexbox легче думать о главной и поперечной оси, а не о линии и блоке. Свойства justify-
всегда используются для выравнивания по главной оси, align-
на поперечной оси.
The alignment subject
Объект выравнивания — это то, что выровнено. Для justify-self
, или align-self
, или при настройке этих значений как группы с justify-items
или align-items
это будет поле элемента, в котором используется это свойство. Свойства justify-content
и align-content
различаются для каждого метода макета.
The alignment container
Контейнер выравнивания — это поле, в котором объект выравнивается внутри. Обычно это будет блок, содержащий объект выравнивания. Контейнер выравнивания может содержать один или несколько объектов выравнивания.
На приведённом ниже рисунке показан контейнер выравнивания с двумя объектами выравнивания внутри.
Fallback alignment
Если вы установите выравнивание, которое не может быть выполнено, тогда возвратное выравнивания вступит в игру и обработает доступное пространство. Это резервное выравнивание указывается отдельно для каждого метода макета и подробно описано на странице для этого метода.
Существует три различных типа выравнивания, которые специфицируют детали; они используют значения ключевых слов.
- Positional alignment (выравнивание положения): указание положения объекта выравнивания относительно его контейнера выравнивания.
- Baseline alignment (исходное выравнивание): эти ключевые слова определяют выравнивание как взаимосвязь между базовыми линиями нескольких объектов выравнивания в контексте выравнивания.
- Distributed alignment (распределённое выравнивание): эти ключевые слова определяют выравнивание как распределение пространства между объектами выравнивания.
Значения ключевых слов позиционирования
Следующие значения определены для позиционного выравнивания и могут использоваться в качестве значений для выравнивания содержимого с justify-content
и align-content
, а также для самовыравнивания с justify-self
и align-self
.
center
start
end
self-start
self-end
flex-start
for Flexbox onlyflex-end
for Flexbox onlyleft
right
Помимо физических значений left
и right
, которые относятся к физическим атрибутам экрана, все остальные значения являются логическими значениями и относятся к режиму записи содержимого.
Например, при работе в CSS Grid Layout, если вы работаете на русском языке и устанавливаете для него значение justify-content
start
, это приведёт к перемещению элементов в встроенном измерении в начало, которое будет левым, поскольку предложения на русском начинаются слева. Если вы использовали арабский язык, право на левый язык, то одно и то же значение start
приведёт к тому, что элементы перемещаются вправо, так как предложения на арабском языке начинаются с правой стороны страницы.
Оба этих примера имеют justify-content: start
, однако местоположение начала изменяется в соответствии с режимом записи.
Исходное выравнивание
Ключевые слова выравнивания базовой линии используются для выравнивания базовых линий ящиков по группе субъектов выравнивания. Они могут использоваться в качестве значений для выравнивания контента с помощью
justify-content
и align-content
, а также для самовыравнивания с justify-self
и align-self
.
baseline
first baseline
last baseline
Исходное выравнивание содержимого — указание значения выравнивания базовой линии для justify-content
или align-content
— работает в методах макета, которые содержат элементы в строках. Объекты выравнивания выравниваются по базовой линии друг к другу, добавляя в них поля.
Исходная линия выравнивания сдвигает поля для выравнивания по базовой линии путём добавления поля за пределами полей. Self alignment — это использование justify-self
или align-self
или при настройке этих значений в виде группы с justify-items
и align-items
.
Distributed alignment
Ключевые слова распределённого выравнивания используются с параметрами align-content
и justify-content
. Эти ключевые слова определяют, что происходит с каким-либо дополнительным пространством после отображения объекта. Значения следующие:
stretch
space-between
space-around
space-evenly
Например, элементы Flex Layout сначала выровнены с использованием flex-start.
Работая в горизонтальном верхнем и нижнем режимах записи, таком как русский, с flex-direction
в виде row
элементы начинаются в крайнем левом углу и любое свободное место после отображения элементов помещается после элементов.
Если вы устанавливаете justify-content: space-between
в контейнере flex, доступное пространство теперь разделяется и помещается между элементами.
Для того, чтобы эти ключевые слова вступили в силу, должно быть доступно пространство в измерении, для которого вы хотите выровнять элементы. Без места, нечего распространять.
safe
и unsafe
ключевые слова помогают определить поведение, когда объект выравнивания больше, чем контейнер выравнивания. Ключевое слово safe
будет выравниваться для start
в случае заданного выравнивания, вызывающего переполнение, целью которого является избежать «потери данных», когда часть элемента находится за пределами границ контейнера выравнивания и не может быть прокручена до.
Если вы укажете unsafe
, выравнивание будет выполнено, даже если это приведёт к такой потере данных.
Спецификация выравнивания коробки также включает свойства gap
, row-gap
и column-gap
. Эти свойства позволяют установить постоянный разрыв между элементами в строке или столбце в любом методе макета, который имеет элементы, расположенные таким образом.
Свойство gap
является сокращением для row-gap
и column-gap
, что позволяет сразу установить эти свойства:
В приведённом ниже примере макет сетки использует сокращённую gap
, чтобы установить разрыв 10px
между дорожками строк и 2em
разрыв между дорожками столбцов.
В этом примере я использую свойство grid-gap
в дополнение к gap
. Первоначальные свойства зазора были предварительно префиксными grid-
в спецификации Grid Layout, а некоторые браузеры поддерживают только эти префиксные версии.
Префиксные версии будут поддерживаться как псевдоним неподписанных, однако вы всегда можете удвоить так, как это было бы с префиксами поставщика, добавив свойство grid-gap
, а затем свойство gap
с теми же значениями.
Кроме того, имейте в виду, что другие вещи могут увеличить визуальный промежуток, отображаемый, например, используя ключевые слова распределения пространства или добавляя поля к элементам.
Поскольку свойства выравнивания полей CSS реализованы по-разному в зависимости от спецификации, с которой они взаимодействуют, обратитесь к следующим страницам для каждого типа макета для получения подробных сведений о том, как использовать с ним свойства выравнивания:
CSS Properties
Glossary Entries
Выравнивание текста (text-align) в HTML
Рассмотрим несколько примеров по выравниванию текста внутри контейнера.
text-align: left
Рассмотрим HTML код контейнера с текстом:<div>
Тише, мыши, кот на крыше.
</div>
Контейнер div по умолчанию является блочным элементом, поэтому его ширина составляет 100% от родительского элемента (элемента, в котором он находится). Поэтому в этой статье его удобно применять — текст будет перемещаться по контейнеру в зависимости от значения свойства text-align. Результат будет такой:Тише, мыши, кот на крыше.
Выравнивание по левому краю не всегда делается по умолчанию. К примеру, в некоторых языках написание слов происходит справа налево. Если текст в контейнере написан на таком языке, то по умолчанию выравнивание будет по правому краю.
В примере выше использован CSS код внутри атрибута style тега div. Но можно вынести этот код отдельно:div {
text-align:left;
}
text-align: right
Теперь посмотрим как принудительно сделать выравнивание по правому краю<div>
Тише, мыши, кот на крыше.
</div>
Текст будет выравнен по правому краю контейнера:Тише, мыши, кот на крыше.
text-align: center
Существует возможность выравнить текст по центру. Для этого необхоимо использовать значение «center»<div>
Тише, мыши, кот на крыше.
</div>
Текст будет выравнен по центру контейнера:Тише, мыши, кот на крыше.
text-align: justify
Стоит упомянуть о возможности растянуть текст равномерно на всю ширину контейнера. Сделать это можно с помощью значения «justify». Но чтобы продемонстрировать это, зададим два контейнера с ограниченной шириной (max-width: 250px). В одном контейнере оставим стандартные настройки выравнивания, а во втором пропишем text-align:justify:<div>
Тише, мыши, кот на крыше,
а котята ещё выше.
Кот пошёл за молоком,
а котята кувырком.
Кот пришёл без молока,
а котята ха-ха-ха.
</div>
<div>
Тише, мыши, кот на крыше,
а котята ещё выше.
Кот пошёл за молоком,
а котята кувырком.
Кот пришёл без молока,
а котята ха-ха-ха.
</div>
В браузере первый контейнер будет содержать текст без растягивания на всю ширину. Во втором контейнере текст будет растянут — пробелы между словами будут иметь разную ширину, чтобы заполнить весь контейнер текстом:Тише, мыши, кот на крыше, а котята ещё выше. Кот пошёл за молоком, а котята кувырком. Кот пришёл без молока, а котята ха-ха-ха.
Тише, мыши, кот на крыше, а котята ещё выше. Кот пошёл за молоком, а котята кувырком. Кот пришёл без молока, а котята ха-ха-ха.
В примере выше использовано свойство «max-width«, а не «width«, потому что оно не мешает контейнеру быть уже, чем заданное значение. Это удобно, если пользователь просматривает сайт с мобильного телефона, ширина которого менее зданного значения. Благодаря «max-width» вёрстка сайта не сломается — страница не будет уходить за пределы экрана.
5 способов выравнивание блоков div по центру при помощи CSS
Способов выравнивания блоков довольно много. Каждый выбирает для себя более привычный. Я опишу 5 способов, выбирайте наиболее подходящий.
- Самый простой способ – с использованием стиля margin:10px auto 5px;
Его можно применять для выравнивания одного блока. Два и более блока в этом случае будут располагаться вертикально.
стиль:
.blk1 { /* выравнивание блоков по центру */
margin:10px auto 5px;
/* эти стили на выравнивание не влияют */
width: 400px;
background-color:#CCC;
border: 1px solid #999;
padding: 20px;
}
Код HTML-смтраницы:
<div> Содержание блока 1. Текст, текст, … </div>
<div> Содержание блока 2. Текст, текст, … </div>
- Процентный способ выравнивания. Его использовать можно тогда, когда ширина блока задана в процентах. Принцип в том, что если ширина блока 60%, то на отступы слева и справа остается 40% (по 20% с каждой стороны). В этом случае можно для этих блоков применять стиль:
margin:5px 20% 10px 20%;
width:60%;
Код страницы аналогичен предыдущему способу.
И в этом случае два и более блока будут располагаться так же вертикально, даже если их суммарная длинна много меньше ширины экрана браузера.
- Смешанный способ выравнивания блока по центру: left: 50%;
margin-left: -500px;
position: absolute; Это не самый лучший, т.к. имеет ряд недостатков:- выравнивание получается не совсем по центру;
- при использовании двух и более блоков на странице виден только последний, т.к. стиль position: absolute; (абсолютное позиционирование) ставит все блоки в одно место.
- С использованием родительского блока. Метод предполагает использование одного дополнительного общего блока, внутри которого помещаются выравниваемые блоки.
В этом случае HTML-код страницы:
<div>
<div> Содержание блока 1. Текст, текст… </div>
<div> Содержание блока 2. Текст, текст… </div>
… ниже дополнительные блоки (при необходимости) …
<div> Содержание блока 3. Текст, текст… </div>
<div> Содержание блока 4. Текст, текст… </div>
<div> Содержание блока 5. Текст, текст… </div>
</div>
Стили для этих блоков:
. dop-block {
position: relative;
float: right;
right: 50%;
}
.blk4 {
position: relative;
float: left;
left: 50%;
/* эти стили на выравнивание не влияют */
margin: 5px;
background-color:#CCC;
width:400px;
border: 1px solid #999;
padding: 20px;
}
Если блоков в странице не много, т.е. они помещаются в одну строку, то выравнивание для них работает:
Главный недостаток — когда блоков много и они не помещаются в 1 ряд, то выравнивание блоков по центру перестает работать:
- С использованием стиля text-align: center; в родительском блоке и стиля display: inline-block; в дочерних. Тогда HTML-код страницы:
<div>
<div> Содержание блока 1. Текст, текст… </div>
<div> Содержание блока 2. Текст, текст… </div>
… ниже дополнительные блоки (при необходимости) …
<div> Содержание блока 3. Текст, текст… </div>
<div> Содержание блока 4. Текст, текст… </div>
<div> Содержание блока 5. Текст, текст… </div>
</div> Стили для этих блоков:
.dop-block {
text-align: center;
}
.blk5 {
display: inline-block;
/* дополнительный стиль для вытавнивания текста внутри блока */
text-align:left;
/* эти стили на выравнивание блоков не влияют */
margin: 5px;
background-color:#CCC;
width:400px;
border: 1px solid #999;
padding: 20px;
}
Страница в этом варианте будет выравнивать блоки даже если их общая длинна превышает ширину окна браузера:
Не все способы описаны. Если вы считаете, что есть еще более удобный способ, напишите.
Выравнивание блока HTML (вертикально и горизонтально)
Центровка элемента — одна из типовых задач в верстке. Решать её можно по разному, рассмотрим некоторые способы.
Горизонтальная центровка.
С центровкой текста все ясно:
HTML tag center
Раньше встречалось использование тега <center>, который является валидным только в transitional doctype. Считается, что его использование аналогично действию text-align: center. Однако это не так. Им можно центрировать не только текст, но и контейнер вроде div.
Здесь я отцентрировал по горизонтали с помощью <center> контейнер с фиксированной шириной. При этом, если убрать <center> и дописать в стили <body> прилегание текста по центру, то эффекта центровки контейнера мы не получим. Обратите внимание, что на рисунке не только сам контейнер центрован, но и текст в нем также центрован.
Код примера в HTML
<html> <head> <style> #sample { width: 200px; background: #8F8; } </style> </head> <body> <center> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </div> </center> </body> </html>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<html> <head> <style> #sample { width: 200px; background: #8F8; } </style> </head> <body> <center> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </div> </center>
</body> </html> |
Margin: auto;
Чтобы стилями добиться эффекта подобного <center>, можно добавить специфический margin. Тогда тег <center> можно убрать.
#sample { width: 200px; background: #8F8; /* center tag */ margin: 0 auto; text-align: center; }
#sample { width: 200px; background: #8F8; /* center tag */ margin: 0 auto; text-align: center; } |
Центровка таблицей.
Кто любит табличную магию, те могут применять центровку таблицей. Результат аналогичен <center>.
Код HTML
<html> <head> <style> #sample { width: 200px; background: #8F8; } </style> </head> <body> <table><tr><td align=»center»> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </div> </td></tr></table> </body> </html>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<html> <head> <style> #sample { width: 200px; background: #8F8; } </style> </head> <body> <table><tr><td align=»center»> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </div> </td></tr></table> </body> </html> |
Вертикальная центровка
Раз уж мы заговорили о настоящей табличной магии, то нет ничего сложного центровать контейнер в таблице по вертикали.
В таблице из прошлого примера добавим центровку по вертикали (valign=center»). Табличку я подкрасил, чтобы визуализировать её границы.
HTML код для табличной центровки контейнера по вертикали.
<html> <head> <style> #sample { width: 200px; background: #8F8; } table { background: #88F; } </style> </head> <body> <table><tr><td align=»center» valign=center»> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </div> </td></tr></table> </body> </html>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<html> <head> <style> #sample { width: 200px; background: #8F8; } table { background: #88F; } </style> </head> <body> <table><tr><td align=»center» valign=center»> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. </div> </td></tr></table> </body> </html> |
Центровка с помощью CSS свойства vertical-align.
Vertical-align относиться к свойству прилегания строки, потому наш контейнер нужно сначала подготовить. Вместо дефолтного display: block нужно установить block-inline. Добавим внешний контейнер, который имитирует строку, где выравнивается наш тестовый блок.
Вроде бы все есть, но почему то центровки по вертикали не происходит. Чудо не случилось :). Все потому, что middle должен вычисляться относительно других элементов строки, а их нет.
HTML код примера выше.
<html> <head> <style> #line { /* контейнер имитирует строку 250 точек высотой */ background-color: #88F; height: 250px; line-height: 250px; } #sample { /* тестовый контейнер */ width: 150px; background-color: #8F8; line-height: 18px; vertical-align: middle; display: inline-block; } </style> </head> <body> <div> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s. </div> </div> </body> </html>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<html> <head> <style> #line { /* контейнер имитирует строку 250 точек высотой */ background-color: #88F; height: 250px; line-height: 250px; } #sample { /* тестовый контейнер */ width: 150px; background-color: #8F8; line-height: 18px; vertical-align: middle; display: inline-block; }
</style> </head> <body> <div> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s. </div> </div> </body> </html> |
Чтобы пример заработал достаточно добавить в #line неразрывного пробела — . Это также могут быть другие inline, block-inline контейнеры, вроде #sample.
Теперь все получилось, как задумано. Контейнер #sample занял положение по центру строки.
<body> <div> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s. </div> </div> </body>
<body> <div> <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s. </div> </div> </body> |
Вот такая маленькая хитрость. 🙂
Как выровнять по центру текст или картинку » Блог Андрея Бондаренко
Здравствуйте, уважаемые читатели. Сегодня у нас тема: «Как выровнять по центру текст или картинку». Как сделать так, чтобы текст или картинка на странице сайта были по центру? Есть несколько способов.
Выравнивание по центру — способ №1
Этот способ считается не совсем правильным, но всё же расскажу и о нём. Нужно текст или картинку разместить между открывающимся и закрывающимся <center>.
<center> текст или картинка </center>
Выравнивание по центру — способ №2
Можно использовать <div> или <p>, то есть разместить текст или картинку, между открывающимся и закрывающимся тегом <div> или <p>.
<div> текст или картинка </div>
<p> текст или картинка </p>
Выравнивание по центру — способ №3
Использовать <div> как и в предыдущем примере, но все его атрибуты прописать в файле css, если Вы используете CSS.
<div> текст или картинка </div>
В файле css создаём класс:
.center {text-align: center;}
Выравнивание по центру — способ №4
Всё как и в предыдущем примере, только класс нужно прописать прямо в коде страницы, между открывающимся и закрывающимся тегом <style>.
<style> .center {text-align: center;} </style>
<div> текст или картинка </div>
При использовании любого из вышеописанных примеров, текст или изображение будет расположено по центру области, в которой Вы будете его использовать.
Сегодня мы рассмотрели тему: «Как выровнять по центру текст или картинку». Узнали несколько способов как добиться желаемого результата.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Первые шаги — Учебник (руководство) по хтмл (html). Ступенька 6-ая.
Учебник по Html для чайников. Простейшие.
Ступенька 6-ая.В этой главе мы поговорим о параграфах. Параграфы вводятся тэгом:
<p></p>
С помощью параграфов мы можем центрировать текст:
<p align=»center»>текст</p>
С помощью параграфов мы можем выровнять текст по левому краю:
<p align=»left»>текст</p>
По правому краю документа:
<p align=»right»>текст</p>
По обоим краям документа:
<p align=»justify»>текст</p>
Теперь введем параграфы в наш документ и посмотрим наглядно, что получится (в наш пример я подставила параграф с атрибутом центрирования текста (align=»center»), попробуйте подставить в параграф атрибут align с другими значениями: Left, Right, Justify).
Кстати, правильно говорить не выравнивание, а выключка: выключка по левому краю, правому, центру, по обоим краям. Если вы позже будете углубляться в область дизайна, то вам наверняка этот термин встретится. Между прочим, HTML не имеет к дизайну ни малейшего отношения, не считайте, что, изучив HTML, вы станете вдруг дизайнером, это большое заблуждение многих начинающих в области сайтостроительства.
<html> <head> <title>Мой первый шаг </title> </head> <body text=»#336699″ bgcolor=»#000000″> <p align=»center»> Здравствуйте, это моя первая страница. <br> <font color=»#CC0000″> Добро пожаловать!</font> 🙂 </p> </body> </html> (посмотреть) |
<p></p>
Пустые элементы <p> без какого-либо содержания (других тэгов или текста) могут игнорироваться броузерами. Не забывайте это. Заметьте, что текст в документе, если не задавать параграфы, всегда выравнивается по умолчанию по левому краю. Также запомните, что после закрывающего тега </p> автоматически происходит перенос строки. Но что делать, если вам этот перенос никак не нужен? Есть тэг альтернативный <p align=»center»>:
<center> текст </center>
<html> <head> <title>Мой первый шаг </title> </head> <body text=»#336699″ bgcolor=»#000000″> <center> Здравствуйте, это моя первая страница. ![]() <br> <font color=»#CC0000″> Добро пожаловать!</font> 🙂 </center> </body> </html> (посмотреть) |
Не волнуйтесь, я еще просто не успела рассказать вам все:). Я вовсе не молчаливый партизан: секреты HTML выдам и другу, и врагу абсолютно бесплатно.
Конечно, тэг <center> хорош, но остался нам он еще с прошлых версий HTML (да, их было несколько, все в этом мире развивается, HTML не исключение). Пока что этот тэг никто не отменял, и его можно использовать, но это не слишком желательно.
Как же лучше поступить? Лучше использовать тэг <div></div>, одно из назначений которого выравнивание содержимого вашего документа. Все четыре значения атрибута align можно употреблять с <div>:
<div align=»center»> текст </div>
<div align=»left»> текст </div>
<div align=»right»> текст </div>
<div align=»justify»> текст </div>
<html> <head> <title>Мой первый шаг </title> </head> <body text=»#336699″ bgcolor=»#000000″> <div align=»center»> Здравствуйте, это моя первая страница. <br> <font color=»#CC0000″> Добро пожаловать!</font> 🙂 </div> <p align=»justify»> Я совсем недавно начал(а) знакомиться с виртуальной жизнью, но мне по давней традиции тоже захотелось создать свою домашнюю страничку для моих новых виртуальных друзей и знакомых, чтобы они могли посмотреть мои фотографии, почитать обо мне, черкнуть пару строчек в мою гостевую книгу. А может и просто случайный посетитель вдруг захочет познакомится со мной, и у меня появться еще один виртуальный друг? 🙂 </p> </body> </html> (посмотреть) |

<p align=»right»>
<p>текст</p>
<p>текст</p>
<p>текст</p>
</p>
и
<p align=»right»>
<div>текст</div>
<p>текст</p>
<div>текст</div>
</p>
Однако <div> может содержать в себе параграфы: с помощью него мы можем сгруппировать их, допустим, по правому краю.
<div align=»right»>
<p>текст первого абзаца</p>
<p>текст второго абзаца</p>
<p>текст третьего абзаца</p>
</div>
Конечно, <p> и <div> не несут в себе исключительно функцию выравнивания элементов. Но поскольку я хотела в этой главе освоить с вами только выравнивание, то к другим возможностям использования <div> и <p> мы вернемся гораздо позже, т.к. это уже более сложная тема для разговора, и вы, мой читатель, пока что к ней не готовы.
AtoZ CSS Быстрый совет: как центрировать текст и значки по вертикали
Эта статья является частью нашей серии статей AtoZ CSS. Вы можете найти другие записи из этой серии здесь.
Вы можете просмотреть полную стенограмму и скринкаст для с вертикальным выравниванием
здесь.
Добро пожаловать в нашу серию AtoZ CSS! В этой серии статей я буду исследовать разные значения (и свойства) CSS, каждое из которых начинается с разной буквы алфавита. Мы знаем, что иногда скринкастов бывает недостаточно, поэтому в эту статью мы добавили быстрые советы о том, как центрировать текст и значки по вертикали.
V для вертикального центрирования текста и значков
В исходном видеоролике для свойства vertical-align
мы рассмотрели несколько методов центрирования элементов по вертикали. В этой статье мы расскажем о трех различных методах вертикального центрирования — то, что всегда было довольно сложно, но теперь сделать проще простого.
Используйте
line-height
для простого вертикального центрирования Чтобы вертикально центрировать одну строку текста или значок внутри контейнера, мы можем использовать свойство line-height
.Это свойство управляет высотой
строки в серии текста и добавляет равное количество пространства над и под строковым блоком встроенных элементов. Если известна высота
контейнера, то установка line-height
того же значения будет вертикально центрировать дочерние элементы.
.container {
ширина: 200 пикселей;
высота: 200 пикселей;
высота строки: 200 пикселей;
}
Используйте положение
и преобразование
для гибкого вертикального центрирования Метод line-height
, описанный выше, быстрый и грязный, но основан на фиксированной высоте.Я стараюсь избегать явной установки высоты
, поскольку это часто может ограничивать поток контента в адаптивном проекте. Этот метод недостаточно гибок, если вы работаете с элементами переменной или плавной высоты
.
Вместо этого мы можем объединить позицию
и переводы в вертикальный центр с переменной высотой элементов
. Например, чтобы вертикально центрировать элемент в пределах всей высоты
области просмотра, мы могли бы использовать следующий фрагмент:
.container {
положение: относительное;
мин-высота: 100vh;
}
.vertical-center {
позиция: абсолютная;
верх: 50%;
осталось: 50%;
преобразовать: перевести (-50%, - 50%);
}
Сначала мы создаем контекст позиционирования, устанавливая position: relative
для элемента контейнера. Это позволит нам расположить элемент .
внутри его границ. vertical-center
Затем мы помещаем верхний
левый
угол элемента, который будет центрирован в точном центре контейнера, расположив его верхний край
на 50% от верха
его родительского элемента и на 50% от него. осталось
от своего родителя.
Наконец, элемент смещается обратно в центр, перемещая его вверх на 50% от его высоты
и слева
на 50% от его ширины
. Теперь наш элемент расположен по центру контейнера по вертикали и горизонтали. Поскольку размещение выполняется с процентными значениями, относящимися к размеру элемента, при изменении ширины
или высоты
контейнера или дочернего элемента элемент останется по центру.
Используйте flexbox для вертикального центрирования
Приведенный выше метод отлично подходит для центрирования элементов с использованием традиционной прямоугольной модели и методов позиционирования.Он будет работать в IE9 +, но если вам нужно поддерживать только современные браузеры или IE10 +, вы можете добиться того же результата с гораздо меньшим количеством кода, используя flexbox.
Flexbox — это совершенно другой способ мышления о макете, но одна из его сильных сторон — это то, как он может выравнивать элементы в горизонтальном и вертикальном пространстве.
Чтобы центрировать элемент с помощью flexbox, мы можем использовать следующий фрагмент:
.container {
дисплей: гибкий;
justify-content: center;
align-items: center;
}
Этот компактный фрагмент превращает наш .контейнер
в гибкий контейнер, который автоматически превращает свои дочерние элементы в гибкие элементы. Затем эти гибкие элементы можно центрировать по горизонтали с помощью justify-content
и по вертикали с помощью align-items
.
Center a с переменной шириной — Справка Uberflip
Узнайте, как центрировать контейнеры, такие как div, при переменной ширине.
Принято считать, что если вы хотите центрировать контейнер, такой как div, лучше всего определить ширину и установить для полей слева и справа значение «auto».Например:
ваш центрированный контейнер шириной 200 пикселей
Это нормально, если у вас определенная ширина, но что произойдет, если ширина изменится на ?
Есть отличный пример рядом с домом — внутри концентратора набор плавающих плиток Предметов содержится в div и должен быть центрирован на странице, например, на широком экране, который может поместиться на нем, 6 плиток отображать в одной строке.
Поскольку мы хотим, чтобы в строке отображалось не более 6 плиток, и каждая плитка имела ширину 250 пикселей, и каждая плитка должна находиться на расстоянии 20 пикселей от своего соседа, ширина контейнера устанавливается равной (250 + 20) * 6 = 1620 пикселей.
Вы найдете это в нашем CSS, который определяет оболочку (.page-aligner), в которой находится контейнер плиток:
@media only screen и (max-width: 9999px) {
.page-aligner {
width: 1620px;
}
}
Хотя это работает, это довольно ограничивает. Если, например, в концентраторе всего 4 элемента, эти 4 плитки будут смещены по центру, потому что размер контейнера по-прежнему будет составлять 1620 пикселей, а последние 2 места для плиток будут незаполненными.
Есть способ получше .И когда я говорю лучше, я имею в виду разных .
Вместо того, чтобы указывать ширину контейнера, мы могли бы сделать что-то вроде этого:
Ваша переменная ширина, центрируемый контейнер
Установив в контейнере отображение inline-block (который можно безопасно использовать в кросс-браузере), его можно выровнять в соответствии со свойством text-align. Вы заметите, что я установил выравнивание текста контейнера # на « слева, », чтобы вернуть значение по умолчанию.
В этом примере, вместо того, чтобы устанавливать ширину обертки, мы могли бы вместо этого установить max-width . В этом случае это заставит седьмую плитку обернуться.
Это также будет означать отсутствие необходимости определять какие-либо точки останова для небольших экранов, поскольку теперь ширина экрана будет определять меньшую ширину для этой оболочки.
Как центрировать текст по вертикали с помощью CSS
Вертикальное центрирование текста с помощью CSS непросто по сравнению с выравниванием текста по горизонтали.Есть разные случаи, когда дело доходит до вертикального центрирования текста с помощью CSS. Давайте рассмотрим их один за другим.
Вертикальное выравнивание одной строки текста
Для вертикального выравнивания отдельной строки текста необходимо использовать свойство line-height.
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 14 18 19 20 21 |
Привет, Livecoding! |
CSS для достижения этого выглядит следующим образом:
#vertical { высота: 90 пикселей; высота строки: 90 пикселей; выравнивание текста: центр; граница: сплошной зеленый 5 пикселей; }
#vertical { height: 90 пикселей; высота строки: 90 пикселей; выравнивание текста: по центру; граница: сплошной зеленый 5 пикселей; } |
Обработка нескольких строк текста
Чтобы обрабатывать несколько строк текста, вам нужно использовать тег в ваших интересах. Итак, как вы это делаете? Давайте посмотрим на следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 14 18 19 20 21 |
Lorem Ipsum — это просто фиктивный текст в полиграфической и наборной индустрии.Lorem Ipsum был стандартным фиктивным текстом в отрасли с 1500-х годов, когда неизвестный типограф взял камбуз и скремблировал его, чтобы сделать книгу образцов шрифта. < / body> |
CSS
#vertical { высота: 150 пикселей; высота строки: 150 пикселей; выравнивание текста: центр; граница: сплошной зеленый 5 пикселей; } охватывать { дисплей: встроенный блок; вертикальное выравнивание: по центру; высота строки: нормальный; }
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 14 18 19 20 21 22 23 | #vertical { height: 150 пикселей; высота строки: 150 пикселей; выравнивание текста: по центру; граница: сплошной зеленый 5 пикселей; } диапазон { дисплей: встроенный блок; vertical-align: middle; line-height: normal; } |
Итак, как все это работает?
- Сначала тег устанавливает высоту тегас помощью свойства line-height.
- также становится встроенным блоком с использованием vertical-align: middle .
- Теперь, когда является встроенным блоком, его можно установить посередине с помощью vertical-align: middle , который отлично подходит для элементов встроенного блока.
- После этого устанавливается нормальная высота строки, что позволяет внутреннему содержимому перемещаться в соответствии с размером div height и свойством line-height.
Второй метод может быть немного сложнее.Однако он отлично работает во всех браузерах. У вас есть что добавить к учебнику? Если да, то не забудьте оставить комментарий ниже.
Вы также можете проверить на нашем веб-сайте видеоролики о HTML / CSS. Ниже приведены несколько примеров:
- Создание темы WordPress (часть 8) — CSS
- HTML5: Создание современного веб-сайта (часть 4) — HTML-CSS
Вы также можете следить за некоторыми из наших вещателей, которые программируют на JavaScript, как показано ниже:
Элайджахвасс99
МаркТаннус
Еще один отличный способ узнать интересные вещи о HTML / CSS — это зайти на страницу нашего проекта!
Center DIV элементов по осям X и Y — Maher Khan
Иногда, когда вы просматриваете макет веб-сайта или какого-либо мобильного приложения, вы можете обнаружить элемент, центрированный по горизонтали и вертикали относительно экрана.Для дизайнера это было бы легко, если бы они использовали, скажем, Adobe Illustrator, Sketch или Figma — центрировать элементы дизайна можно всего в два щелчка мышью. Если вы разработчик, пытающийся превратить этот дизайн в код, вы можете подставить себе лицо. Что ж, вы могли бы покрыть горизонтальную ось с помощью автоматического поля или текстового центра, но случается ли со злой вертикальной осью Y?
Стресса нет! Вот 5 великолепных способов идеально центрировать текст или элемент div по обеим осям.
Для настройки давайте сначала посмотрим, с чем мы будем работать:
Настройка холста. Золотая рамка внутри
— это наш контейнер или родительский элемент
, внутри которого мы можем центрировать больше элементов. В наших примерах мы будем придерживаться центрирования текста и элементов, у которых может быть больше дочерних элементов. Чтобы установить холст (изображение выше) для нашего примера, мы будем использовать светло-серый фон для
и использовать золотую рамку, расположенную посередине внутри.
Вот несколько CSS для начала.
html { высота: 100%; размер шрифта: 30 пикселей; размер коробки: рамка-рамка; } тело { маржа: 0; отступ: 0; рост: наследовать; цвет фона: # e4e4e4; цвет белый; дисплей: гибкий; align-items: center; justify-content: center; } .parent { цвет фона: золотарник; ширина: 500 пикселей; высота: 500 пикселей; } .ребенок { }
На данный момент все готово. Давайте погрузимся в наш первый метод.
Метод 1. Использование таблицЭтот метод отлично подходит, если вы хотите центрировать текст.
Центральный элемент
.parent { цвет фона: золотарник; ширина: 500 пикселей; высота: 500 пикселей; дисплей: таблица; } .parent h5 { дисплей: таблица-ячейка; вертикальное выравнивание: по центру; выравнивание текста: центр; }
Здесь мы должны установить для свойства display элемента .parent
значение table. Затем для дочернего элемента ( h5
) нам нужно установить для свойства display
значение table-cell
.Чтобы центрировать текст по вертикали, просто используйте CSS-свойство vertical-align: middle
и готово!
Примечание: Это старый способ, и я бы не рекомендовал его, тем не менее, это способ.
Метод 1: Использование таблицМетод 2: Сетка
Этот метод работает так же, как и описанный выше, за исключением того, что он работает не только с текстовыми элементами — вы также можете центрировать внутри целые элементы блока. Кроме того, вам не нужно использовать CSS для
.дочерний элемент
, чтобы центрировать его. Тем не менее, немного стилизации для этого не сильно повредило
Центрированный элемент
.parent { цвет фона: золотарник; ширина: 500 пикселей; высота: 500 пикселей; дисплей: сетка; justify-content: center; align-items: center; } .ребенок { цвет фона: васильковый; отступ: 10 пикселей; }
Совет: Сокращенная замена для justify-content: center
и align-items: center
представляет собой простую однострочную строку:
места-предметы: центр;Метод 2: Сетка
Метод 3: Использование позиций
Для этого метода мы будем использовать значения положения относительно
и абсолютных
.Возможно, вы уже знаете это — чтобы правильно использовать свойство position: absolute
для элемента, вам нужно установить значение свойства position его родительского элемента на любое значение, отличное от static
.
Центрированный элемент
.parent { цвет фона: золотарник; ширина: 500 пикселей; высота: 500 пикселей; положение: относительное; } .ребенок { цвет фона: васильковый; отступ: 10 пикселей; позиция: абсолютная; верх: 50%; осталось: 50%; преобразовать: перевести (-50%, -50%) }
Совет: translate
значений — действительно отличный способ центрировать элементы, не беспокоясь о вычислении высоты
или ширины
элемента, а затем вычитания половины этих значений из верхних
и слева
значений.Значения перевода -50%
автоматически рассчитывают это за вас.
Метод 4: Использование Flex
В настоящее время это самый популярный способ центрирования элементов. Посмотрим на код.
Центрированный элемент
.parent { цвет фона: золотарник; ширина: 500 пикселей; высота: 500 пикселей; дисплей: гибкий; justify-content: center; align-items: center; } .ребенок { цвет фона: васильковый; отступ: 10 пикселей; }Метод 4: Использование Flex
Здесь снова нам не нужно использовать какой-либо CSS для элемента .child
для его центрирования.
Метод 5: Использование автоматической маржи
Теперь, когда мы понимаем, как работают свойства отображения сетки и гибкости, давайте посмотрим на следующий код.
Центрированный элемент
.parent { цвет фона: золотарник; ширина: 500 пикселей; высота: 500 пикселей; дисплей: сетка; } .ребенок { цвет фона: васильковый; отступ: 10 пикселей; маржа: авто; }
Здесь свойство display
для элемента .parent
может быть настроено на использование значений grid
или flex
. Для элемента .child
просто установите margin
на auto
, чтобы центрировать его по осям X и Y.
Вот и все! 5 отличных способов показать своему дизайнеру, кто здесь главный!
Большое спасибо Кевину Пауэллу за то, что он помог мне узнать новые интересные вещи и стал источником вдохновения!
Махер Хан
Я люблю бросать вызов, пытаясь найти правильный баланс между формой и функцией, и увлекаюсь странностями, пытаясь понять их смысл в мире дизайна.Я работаю креативным руководителем и руководителем фронтенда ARITS Limited, а также являюсь ее председателем.
CSS Center A Div по горизонтали и вертикали
2354
Есть несколько способов центрировать HTML-элемент по вертикали и горизонтали относительно его родительского контейнера.
Показать стол
Определите родительский div с именем класса .box.
Дочерний div имеет имя класса.inner-box и внутри него есть элемент изображения.
В CSS добавьте свойство display: table к родительскому div, который является .box
.Это повлияет на всю ширину, поэтому также добавьте к ней ширину: 100%.
Внутри .inner-box отцентрируйте тег изображения по горизонтали, используя свойство text-align: center, поскольку это встроенный элемент.
Наконец, добавьте vertical-align: middle к внутреннему элементу div, который перемещается по вертикали в центр своего родительского элемента.
html, body {
маржа: 0px;
высота: 100%;
}
.коробка {
ширина: 100%;
высота: 100%;
дисплей: таблица;
}
.Внутренняя коробка{
выравнивание текста: центр;
дисплей: таблица-ячейка;
вертикальное выравнивание: по центру;
}
Прокладка
Используя padding, мы можем легко сделать внутренний div вертикально центрированным.
Если вы используете этот подход, не добавляйте свойство высоты к внешнему блоку.
html, body {
маржа: 0px;
}
.наружная коробка {
ширина: 100%;
отступ: 60 пикселей 0;
выравнивание текста: центр;
фон: оранжевый;
цвет белый;
}
.Внутренняя коробка {
ширина: 100 пикселей;
фон: фиолетовый;
маржа: 0 авто;
размер шрифта: 2em;
}
Дисплей: Flex
Установка гибкости отображения для внешнего контейнера — это самый простой способ расположить его дочерний элемент по центру в обоих направлениях.
