0

<section>ID を持つタグを検出する疑似セレクターまたはメソッドはありますか。いいえ<section id="no_display">

ヘッダーがあり、35px の下余白があります。ただし、1 つのページに下余白を適用するのではなく、他のすべてのページに適用したいと考えています。

ID を検出し、マージンを適用しない方法はありますか?

<header>
    //stuff here
</header>
<section id="no_display">
    //other stuff here
</section>

したがって、 の<header>直後に が続く場合はsection id="no_display"、下マージンを適用しないでください。

うまくいけば、それは理にかなっています。

4

2 に答える 2

2

通常、2つ以上の要素間の関係を表すために疑似クラスを使用することはありません。コンビネータを使用します。この場合、先行する兄弟のコンビネータが必要です。残念ながら、それは存在しません

存在するのは次の兄弟コンビネータです。sectionIDがない場合にのみマージンを表示したいので、下のマージンをオンに切り替えてheader上のマージンをオンsectionにし、IDを持っている場合にオーバーライドルールを使用してマージンを削除できます。 :

header + section {
    margin-top: 35px;
}

header + section#no_display {
    margin-top: 0;
}

(IDだけでも十分に具体的であるため、実際にはセレクターは必要ありませんが、header + section#no_displayこれを行うと、2番目のルールが最初のルールに関連していることが一目でわかります。)

于 2012-11-10T01:56:56.887 に答える
2

前の兄弟要素sectionを補うために負のマージンを使用できます。margin-bottom

#no_display {
    margin-top: -35px;
}
于 2012-11-10T01:55:48.423 に答える