Vertical align css div: CSS Layout — Horizontal & Vertical Align

Понимание свойства CSS vertical-align

Луи Лазарис / /

Обновлено:

«Выравнивание по вертикали не работает!» — воскликнул веб-разработчик.

Свойство vertical-align — одна из тех возможностей CSS, которая звучит довольно очевидно, но может вызвать проблемы у новичков в CSS. Я думаю, что даже у многих ветеранов CSS иногда возникают проблемы с пониманием этого.

В этом посте я постараюсь рассказать об этом в доступной форме.

Чего он не делает

Распространенное заблуждение относительно vertical-align заключается в том, что когда он применяется к элементу, все элементы внутри этого элемента меняют свое вертикальное положение. Например, при использовании vertical-align: top для элемента предполагается, что содержимое этого элемента будет перемещено вверх до верхней части элемента.

Это напоминает мне то, что мы делали во времена табличных макетов:


Что бы ни...

 

В случае с этим примером ячейки таблицы свойство «valign» (теперь устаревшее в HTML5) приведет к тому, что элементы внутри него будут перемещены в верхнюю часть ячейки таблицы. Так что, естественно, когда разработчики CSS начинают использовать vertical-align , они предполагают то же самое — содержимое элементов выравнивается в соответствии со значением свойства.

Но вертикальное выравнивание работает иначе.

Что оно на самом деле делает

Свойство вертикального выравнивания можно разбить на три простых для понимания шага:

  1. Оно применяется только к встроенным или встроенным блочным элементам
  2. Влияет на выравнивание самого элемента, а не его содержимого (кроме случая применения к ячейкам таблицы)
  3. При применении к ячейке таблицы выравнивание влияет на содержимое ячейки, а не на саму ячейку

Другими словами, следующий код не будет иметь никакого эффекта:

дел {
  вертикальное выравнивание: посередине; /* это ничего не сделает */
}
 

Почему? Потому что

— это элемент блочного уровня, а не встроенный. Конечно, если вы преобразовали
во встроенный или встроенный блочный элемент, тогда свойство vertical-align будет иметь эффект.

С другой стороны, при правильном использовании (на встроенном или встроенном блочном элементе) свойство vertical-align заставит целевой элемент выравниваться относительно других встроенных элементов.

То, насколько высоко вверх или вниз выровнен элемент, будет зависеть от размера встроенных элементов в той же строке или от высоты строки, установленной для этой строки.

Некоторые визуальные элементы

Вот наглядная демонстрация вместе с пояснительным текстом, которая поможет вам понять, что происходит, когда вы выравниваете встроенный элемент по вертикали:

вверху:

  • Посмотреть демонстрацию

Значения ключевых слов

Различные значения ключевых слов, которые вы можете использовать с vertical-align :

  • baseline (значение по умолчанию или «начальное»)
  • дно
  • средний
  • суб
  • супер
  • текст снизу
  • текст-верхний
  • топ

Скорее всего, вы не будете использовать многие из них, но полезно знать, какой широкий выбор у вас есть. Например, на демо-странице, поскольку значение vertical-align имеет значение «top» для элемента ввода, он выравнивается по самому высокому элементу в строке (большому изображению).

Но если вы не хотите выравнивать элемент относительно изображений или других блочных встроенных элементов, вместо этого вы можете выбрать значения text-top или text-bottom , чтобы элемент отношение к тексту в строке.

О значении «middle»

Обновление : (7 декабря 2011 г.) Одна вещь, которую я не объяснил в исходной статье (потому что сначала не понял), как работает значение «middle». . Благодаря комментариям Пабло Ботта.

К сожалению, vertical-align: middle не выровняет встроенный элемент по середине самого большого элемента в строке (как и следовало ожидать). Вместо этого значение middle приведет к тому, что элемент будет выровнен по середине гипотетического нижнего регистра «x» (также называемого «x-height»). Итак, мне кажется, что это значение на самом деле должно называться «text-middle», чтобы правильно определить, что оно делает.

Посмотрите эту демонстрацию, где я увеличил размер шрифта, чтобы высота x стала намного больше. Так что вообще говоря, значение «средний» не будет использоваться очень часто.

Значения, не являющиеся ключевыми словами

Возможно, вы не знаете, что вертикальное выравнивание принимает значения длины и процента. Таким образом, все это были бы допустимые примеры:

.
вход {
  вертикальное выравнивание: 100 пикселей;
}
охватывать {
  вертикальное выравнивание: 50%;
}
картинка {
  вертикальное выравнивание: -300px;
}
 

Хотя вы можете прочитать в спецификации объяснение, описывающее, что делают значения ключевого слова и длины, я думаю, что гораздо полезнее просто возиться со значениями самостоятельно и сравнивать разные результаты.

Заключение

Если я могу подытожить, как использовать это традиционно неправильно понимаемое свойство в одном предложении, я бы сказал: используется в ячейке таблицы, это повлияет на выравнивание самого элемента, а не содержимого элемента.

Обновление : кажется, я пытался упростить смысл здесь, но изначально я не упомянул, что когда я говорю о «встроенных» элементах, это также будет включать в себя встроенные блочные элементы. Спасибо Брайану Айришу за указание на это.

Вертикальное выравнивание CSS Text Image Div Span

Что такое вертикальное выравнивание CSS

1 Что такое вертикальное выравнивание CSS

2 Где я могу использовать вертикальное выравнивание CSS

2.1 Таким образом, свойство вертикального выравнивания можно использовать в двух контекстах :

3 Свойство CSS vertical-align с синтаксисом

4 Примеры вертикального выравнивания CSS в синтаксисе HTML

5 Вывод результатов приведенного выше синтаксиса вертикального выравнивания

6 Пример вертикального выравнивания изображения:

7 Выравнивание по вертикали в ячейке таблицы

7.1 HTML

7.2 CSS

8 Результат вертикального выравнивания изображения CSS

9 Поддержка браузером вертикального выравнивания текста CSS Изображение Div Span

вертикальное выравнивание [Предполагается, что вы Знайте HTML, прежде чем читать этот учебник по вертикальному выравниванию CSS]
CSS-свойство вертикального выравнивания задает вертикальное выравнивание встроенного поля, встроенного блока или ячейки таблицы. Свойство вертикального выравнивания в CSS управляет тем, как элементы, расположенные рядом друг с другом в строке, выстраиваются в линию.

Где я могу использовать вертикальное выравнивание CSS

Вы можете использовать стили вертикального выравнивания CSS в любом HTML для объектов ниже элементов.

  1. Текст – Вертикальное выравнивание CSS Текст
  2. Изображение – Вертикальное выравнивание CSS Изображение
  3. Ячейка таблицы – Вертикальное выравнивание CSS Таблица
  4. Разделение – CSS Выравнивание по вертикали Div
  5. Span — Вертикальное выравнивание CSS Span

Таким образом, свойство вертикального выравнивания можно использовать в двух контекстах:

  1. Для вертикального выравнивания блока встроенного элемента внутри содержащего его блока строки. Например, его можно использовать для вертикального расположения изображения в строке текста.
  2. Для вертикального выравнивания содержимого ячейки в таблице. [ Обратите внимание, что вертикальное выравнивание применяется только к встроенным элементам, встроенным блокам и элементам таблицы: вы не можете использовать его для вертикального выравнивания элементов блочного уровня. ]

 

Вертикальное выравнивание CSS Свойство с синтаксисом

вертикальное выравнивание: базовая линия;
вертикальное выравнивание: суб;
вертикальное выравнивание: супер;
вертикальное выравнивание: текст сверху;
вертикальное выравнивание: текст внизу;
вертикальное выравнивание: посередине;
вертикальное выравнивание: сверху;
вертикальное выравнивание: снизу;

 

Примеры вертикального выравнивания CSS в синтаксисе HTML : средний” src=»star.png»/>


нижний:
super:
sub: png»/>


text-top:
text-bottom:
0.2em:
-1em:
20%:
-100%:

 

Результаты выше Вертикальное выравнивание Синтаксис

топ :  middle:  bottom:  super:  sub: 

text-top:  text-bottom:  0.2em:  -1em:  20%:  -100%: 

 

Пример вертикального выравнивания изображения:

img. а {
вертикальное выравнивание: базовая линия;
}

img.b {
выравнивание по вертикали: text-top;
}

img.c {
выравнивание по вертикали: текст внизу;
}

img.d {
вертикальное выравнивание: суб;
}

img. e {
вертикальное выравнивание: супер;
}

 

Выравнивание по вертикали в ячейке таблицы align: top”>top


middle
bottom

Зачем скачать приложение Zoom для ПК бесплатно? Zoom — это буквальное определение 2020 года, и он все еще продолжается, пока я пишу — не шучу. Будь то семейные беседы, уроки и курсы, рабочие конференции, свадьбы или домашние мероприятия — все было виртуальным в 2020, 2121 и продолжается, пока мы пишем эту статью.


Использование приложения Zoom дополнительно гарантирует множество удобных опций, недоступных в расширении Chrome.





CSS

table {
margin-left: auto;
поле справа: авто;
ширина: 80%;
}

table, th, td {
граница: 1 пиксель сплошной черный;
}

td {
заполнение: 0,5em;
семейство шрифтов: моноширинный;
}

Результат CSS вертикального выравнивания изображения

базовая линия верхняя средняя нижняя
Почему Zoom App Download For PC Free? Zoom — это буквальное определение 2020 года, и он все еще продолжается, пока я пишу — не шучу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *