Css выравнивание по вертикали: Все способы вертикального выравнивания в CSS / Хабр

Вертикальное выравнивание CSS — javatpoint

следующий → ← предыдущая

Свойство CSS вертикального выравнивания используется для определения вертикального выравнивания встроенного поля или поля ячейки таблицы. Это одно из очевидных свойств CSS. Это не очень простое свойство для новичков.

Что он делает

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

Значения вертикального выравнивания CSS

значение описание
базовый уровень Базовая линия элемента выравнивается по базовой линии родительского элемента. Это значение по умолчанию.
длина Используется для увеличения или уменьшения длины элемента на указанную длину. допускаются и отрицательные значения.
%
Используется для увеличения или уменьшения элемента в процентах от свойства «высота строки». допускаются отрицательные значения.
суб Выравнивает элемент, как если бы он был индексом.
супер Выравнивает элемент, как если бы он был надстрочным.
верх Выравнивает верхнюю часть элемента по верхней части самого высокого элемента в строке.
нижний Выравнивает низ элемента с самым нижним элементом в строке.
текст-верхний верхняя часть элемента выравнивается по верхней части шрифта родительского элемента.
средний элемент помещается в середину родительского элемента.
текст внизу нижняя часть элемента выравнивается по нижней части шрифта родительского элемента.
инициал Устанавливает для этого свойства значение по умолчанию.
унаследовать наследует это свойство от своего родительского элемента.

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

<голова> <стиль> img.top { вертикальное выравнивание: текст сверху; } img.bottom { вертикальное выравнивание: текст внизу; } <тело>

Доброе утро, друзья Это изображение с выравниванием по умолчанию.

Доброе утро, друзья Это изображение с выравниванием текста по верхнему краю.

Доброе утро, друзья Это изображение с выравниванием текста по нижнему краю.

Протестируйте сейчас

Вывод:

Это изображение с выравниванием по умолчанию.

Это изображение с выравниванием текста по верхнему краю.

Это изображение с выравниванием текста по нижнему краю.

Next TopicCSS White Space

← предыдущая следующий →


Для видео Присоединяйтесь к нашему каналу Youtube: Присоединяйтесь сейчас


Обратная связь

  • Отправьте свой отзыв на [email protected]

Помогите другим, поделитесь


Изучите последние учебные пособия


Подготовка


Современные технологии


Б.

Тех / МСА

Почему vertical-align:text-top; не работает в CSS

спросил

Изменено 7 месяцев назад

Просмотрено 280 тысяч раз

Я хочу выровнять текст по верхней части div. Кажется, что vertical-align: text-top; должен помочь, но не работает. Другие вещи, которые я сделал, такие как размещение div в столбцах и отображение пунктирной границы (чтобы я мог видеть, где находится верхняя часть div), все работает нормально.

 #header_p {
    семейство шрифтов: Arial;
    размер шрифта: 32px;
    вес шрифта: полужирный;
}
#header_selecttxt {
    семейство шрифтов: Arial;
    размер шрифта: 12px;
    вес шрифта: полужирный;
    вертикальное выравнивание: текст сверху;
}
#header_div_left {
    плыть налево;
    ширина: 50%;
    граница: пунктирная;
    вертикальное выравнивание: сверху;
}
#header_div_right {
    поле слева: 50%;
    ширина: 50%;
    граница: пунктирная;
}
 
  • css
  • вертикальное выравнивание

0

Атрибут вертикального выравнивания предназначен только для встроенных элементов. Это не повлияет на элементы блочного уровня, такие как div. Также text-top перемещает текст только вверх текущего размера шрифта. Если вы хотите вертикально выровнять встроенный элемент вверху, просто используйте это.

 вертикальное выравнивание: сверху;
 

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

1

vertical-align должен работать только с элементами, которые отображаются как встроенные . по умолчанию отображается как встроенный, но не все элементы. Элемент блока абзаца,

, по умолчанию отображается как блок. Типы рендеринга таблицы (например, table-cell ) также позволят вам использовать вертикальное выравнивание.

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

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

Надеюсь, это поможет!

0

что-то вроде

 position:relative;
  верх:-5px;
 

у меня работает только на самом встроенном элементе. Придется поиграть с верхом, чтобы отцентрировать его по вертикали…

0

Вы можете применить позицию: относительная; в div, а затем position: absolute; сверху: 0; в абзац или диапазон внутри него, содержащий текст.

Вы можете использовать контекстные селекторы и перемещать туда вертикальное выравнивание. Тогда это будет работать с тегом p. Возьмите этот фрагмент ниже в качестве примера. Любые теги p в вашем классе будут учитывать элемент управления выравниванием по вертикали:

 #header_selecttxt {
    семейство шрифтов: Arial;
    размер шрифта: 12px;
    вес шрифта: полужирный;
}
#header_selecttxt р {
    вертикальное выравнивание: текст сверху;
}
 

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

Все вышеперечисленное не работает для меня, я только что проверил это и его работу:

вертикальное выравнивание: супер;

 <дел>
     Вид:
 

Я знаю, что отступы или поля будут работать, но я предпочитаю последний вариант.

1

PS: я не ux или frontend инженер

 .make-it-valign-on-top {
    вертикальное выравнивание: супер;
    вертикальное выравнивание: текст сверху;
    вертикальное выравнивание: сверху;
}
мой текст

Вы можете использовать margin-top: -50%, чтобы переместить текст полностью в верхнюю часть div.

 верхняя граница: -50%;
 
 позиция:абсолютная;
верх: 0px;
поле: 5px;
 

Моя проблема решена.

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

  • У меня был текст, заключенный в старую школу

    тегов.