Я создаю заголовок H1 с помощью css и добавляю к нему высоту строки, поэтому элемент H1 имеет правильную высоту, а текст центрируется по вертикали.
Проблема заключается в длинных заголовках, для которых требуется несколько строк.
Пример создается в jsfiddle: https://jsfiddle.net/wygpfbm3/
HTML:
<h1>
This is a normal title
</h1>
<h1>
This is a very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very very long title
</h1>
CSS:
h1 { background-color: #ebebeb; border: 1px solid #c7c7c7; border-left: none; border-right: none; top: 0px; line-height: 44px; font-size: 18px; font-weight: normal; color: #3e3e3e; }
h1:before { content: ''; background-color: transparent; border: 6px solid #c7c7c7; border-color: #c7c7c7 transparent transparent #c7c7c7; float: left; }
h1:after { content: ''; border: 6px solid #fff; border-color: #fff transparent transparent #fff; float: left; margin-left: -12px; margin-top: -1px; }
Как вы можете видеть в примере со скрипкой, обычный заголовок (одна строка) работает идеально. Когда это длинный заголовок, строки слишком далеко друг от друга (потому что я установил высоту строки).
Также вторая строка не имеет отступа слева, как первая строка. Другая проблема связана с маленьким белым треугольником в верхнем левом углу. Он перемещается вниз, если заголовок состоит из нескольких строк.
Кто-нибудь знает, как я могу решить это чистым способом, предпочтительно только с помощью CSS?