DirecTwiX
@DirecTwiX
"display: flex;" уже предлагали?

Как выровнять inline-block вертикально по центру?

codepen.io/anon/pen/wWykkG

vertical-align: middle не помог.
  • Вопрос задан
  • 6323 просмотра
Решения вопроса 4
evgeniy8705
@evgeniy8705
Повелитель вселенной
Первый вариант. Указать у блока родителя line-height равный height. В том случае если высота в абсолютных единицах. Вроде как с относительной высотой такое не прокатит.
Второй вариант. намного оптимальнее. Использовать flexbox.
У внешнего блока родителя указать:
display: flex;
align-items: center;
Ответ написан
lunpully
@lunpully
Обратить внимание на стили для ссылки.
Если шрифт не нулевой то может блок чуть съезжать вверх-вниз. Ссылка изначально имеет вывод в inline формате, поэтому некорректно отрабатывает высоту. Надо ставить inline-block

.a {
  background: #bbb;
  height: 4rem;
  line-height: 4rem;
  font-size:0;
  display:inline-block;
}

.b {
  background: #888;
  display: inline-block;
  height: 1.5rem;
  line-height: 1.5rem;
  font-size: 0.5rem;
  vertical-align: middle;
}
Ответ написан
svistiboshka
@svistiboshka
живые веб интерфейсы
у вас же высота известна чего вы паритесь https://jsfiddle.net/svistiboshka/1odbk3L6/
а вообще вот пару ссылок и все встанет на свои места:
https://css-tricks.com/centering-css-complete-guide/
web-standards.ru/articles/vertical-align

либо просто
position: absolute;
top: 50%;
transform: translateY(-50%);
Ответ написан
Комментировать
iiiBird
@iiiBird Куратор тега CSS
Пока ты спишь - твой конкурент совершенствуется
родителю дать before с такими параметрами:
:before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 100px; //высота блока родителя
	margin-left: -1px;
	vertical-align: middle;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы