TL; DR Неправильная практика изменить свойство default display
в моем CSS?
Вопрос
Недавно в нашем проекте нам пришлось поместить 2 тега заголовка, чтобы они выглядели как один. Они имели одинаковый размер шрифта и похожий стиль, поэтому единственной проблемой было размещение одного рядом друг с другом. У нас было две разные идеи по этому поводу, и в нем обсуждается, действительно ли хорошая практика изменить стандартное свойство display
Итак, наш самый базовый код
<div class="container">
<h1>Header:</h1>
<h2>my header</h2>
</div>
Результат, который мы хотели бы иметь:
Заголовок: мой заголовок
Примечание:
Код должен состоять из двух разных заголовков, потому что в мобильной версии мы хотим отображать их в отдельных строках (поэтому оставляем по умолчанию display: block
).
Подход №1: используйте display: inline
Это довольно сложно. Элементы блока стали встроенными, поэтому они расположены в одной строке. Недостатком этого подхода является то, что свойства отображения по умолчанию для h1
и h2
были изменены.
Подход №2: используйте float
h1
можно расположить слева, используя свойство float: left
. Этот подход оставляет свойство отображения по умолчанию неповрежденным, но потребует некоторых хаков, если .container
недостаточно длинный, чтобы соответствовать обоим заголовкам в одной строке.
Вопрос
Все это приводит к простому вопросу: неудобна ли практика изменения свойства display
по умолчанию для элементов HTML? Является ли он нарушением стандарта и его следует избегать, если это возможно? Или это наш хлеб и масло, и это не имеет большого значения, если код семантически корректен (поэтому заголовки помещены в h1
, статьи помещаются в article
и т.д.)