1

隣接する兄弟に上マージンを追加しようとしています。

<div class="container">
  <h2>Header 1</h2>
  <p>Some text and sentences...</p>
  <h2>Header 2</h2>
  <p>Some more text and sentences..</p>
</div>

通常、隣接する兄弟でcssを使用して、「ヘッダー2」でトップマージンを達成します。

p + h2{
  margin-top: 12px;
}

ただし、h2 にはマージンが定義されています。

.container h2{
  margin: 24px 0px;
}

.container h2 css をオーバーライドしながら、隣接する兄弟 css を機能させるにはどうすればよいですか?

4

3 に答える 3

3

次のことを試してください。

.container > p + h2{
  margin: 12px;
}

あれは:

  • 要素を選択h2...
  • ...p要素の直後...
  • ...これは class を持つ要素の子ですcontainer

には 1 つのクラスと 2 つの要素が含まれているため、1 つのクラスと 1 つの要素しかない.container > p + h2をオーバーライドします。.container h2

于 2014-04-15T18:24:40.030 に答える
2

これはうまくいくはずです

.container p + h2 {
margin-top: 12px;
}
于 2014-04-15T18:24:55.877 に答える
1

.container h2よりも具体的でp + h2あるため、考慮されます。マージンをオーバーライドするには、より具体的なセレクターが必要です。

これは「より具体的」でオーバーライドする必要があります。

.container p + h2 {
    margin-top: 12px;
}
于 2014-04-15T18:26:09.177 に答える