Задать вопрос
larka_skaz
@larka_skaz

Почему надпись не выравнивается по центру по вертикали(визуально приподнята на 2 пикселя вверх)?

https://codepen.io/Larka_Ska/pen/oPEjoW

Собственно нет твёрдых познаний css, из-за этого не могу понять почему надпись на фиолетовой кнопке уползает вверх.
Думаю что тут что-то не так с line-height... а может быть и нет.

Важно,чтобы кнопка была высотой в 40px, а надпись в 15 px, т.е. высота букв и паддинги должны в итоге влазить в 40px. Задавать высоту диву, в который размешена кнопка в эти 40 px - нельзя.

p.s. не обращайте внимания на то что иконка бутерброда размыта. Она будет 40 на 40 px в свг в итоге.
  • Вопрос задан
  • 256 просмотров
Подписаться 3 Средний Комментировать
Решения вопроса 3
@BigSmoke
У .menu-button a line-height можно убрать, а для .menu-button добавить
display: flex;
align-items: center;
Ответ написан
Комментировать
Exploding
@Exploding
wtf?
Вот, разбирайтесь https://codepen.io/Exploding2g/pen/MqQOoM
Ответ написан
Комментировать
@AlexSus
Если я правильно понял, что вам нужно, то добавьте vertical-align: middle; к тексту кнопки:

.menu-button a {
	font-weight: 800;
	font-size: 15px;
	color: #fff;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 40px;
	vertical-align: middle;
}

Кстати line-height: 40px; вообще не работает, пока вы не укажите для тега a - display:inline-block;.
Если вам прямо нужно получить текст высотой 15px и чтобы родитель при этом был ровно 40 пикселей без указания его размеров, то финальный css будет такой:

.menu-button a {
	font-weight: 800;
	font-size: 15px;
	color: #fff;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 15px;
	display:inline-block;
	vertical-align: middle;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
a {
  position: relative;
  top:1px
}


Думаю что дело было в подчеркивании от ссылки ( оно осталось при наведении) и занимало 1px
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы