Если вы хотите добавить пробелы между элементами HTML (используя CSS), к какому элементу вы присоедините его?
Я регулярно в таких ситуациях:
<body>
<h1>This is the heading</h1>
<p>This is a paragraph</p>
<h1>Here another heading</h1>
<div>This is a footer</div>
</body>
Теперь, скажем, мне нужно 1 место между каждым из этих элементов, но не выше первого h1 или ниже последнего div. К каким элементам я присоединю его?
Очевидно, нет реальной технической разницы между этим:
h1, p { margin-bottom: 1em; }
... и это...
div { margin-top: 1em; }
p { margin-top: 1em; margin-bottom: 1em }
Мне интересны вторичные факторы:
- Согласованность
- Применимость ко всем ситуациям
- Простота/простота
- Простота внесения изменений
Например: в этом конкретном сценарии я бы сказал, что первое решение лучше второго, так как оно проще; вы привязываете только крайность к двум элементам в одном определении свойства. Тем не менее, я ищу более универсальное решение. Каждый раз, когда я работаю с CSS, у меня возникает ощущение, что есть хорошее правило для применения... но я не уверен, что это такое. Кто-нибудь имеет хороший аргумент?