HTML 要素の間に (CSS を使用して) 空白を追加したい場合、どの要素に追加しますか?
私は定期的に次のような状況に陥っています。
<body>
<h1>This is the heading</h1>
<p>This is a paragraph</p>
<h1>Here's another heading</h1>
<div>This is a footer</div>
</body>
ここで、これらの各要素の間に 1em のスペースが必要であるとしますが、最初の h1 の上または最後の div の下にはスペースが必要ありません。どの要素にアタッチしますか?
明らかに、これには実際の技術的な違いはありません。
h1, p { margin-bottom: 1em; }
...この...
div { margin-top: 1em; }
p { margin-top: 1em; margin-bottom: 1em }
私が興味を持っているのは、二次的な要因です。
- 一貫性
- あらゆる状況への適用性
- 使いやすさ/シンプルさ
- 変更のしやすさ
例: この特定のシナリオでは、最初のソリューションの方が単純なので、2 番目のソリューションよりも優れていると言えます。1 つのプロパティ定義で margin-bottom を 2 つの要素にアタッチするだけです。ただし、より汎用的なソリューションを探しています。CSS の作業を行うたびに、適用すべき適切な経験則があるように感じますが、それが何であるかはわかりません。誰かが良い議論を持っていますか?