両者に違いはありますか?スペース "a> b"とスペース "a> b"のないCSS子セレクタの違いは何ですか?
例1:
a>b{
display: block;
}
例2:
a > b{
display: block;
}
両者に違いはありますか?スペース "a> b"とスペース "a> b"のないCSS子セレクタの違いは何ですか?
例1:
a>b{
display: block;
}
例2:
a > b{
display: block;
}
CSSは非常に寛容です。次のセレクタは、体の子であるAPエレメント表し
:(ここではあなたの
>
など)コンビネータの周りの空白文字はオプションでCSSセレクタ仕様mentionesbody > p
を次の例は、子孫コンビネータを組み合わせて、子コンビネータ。
div ol>li p
これは、li要素の子孫であるp要素を表します。 li要素はol要素の子要素でなければなりません。 ol要素はdivの子孫でなければなりません。 ">"コンビネータの周りのオプションの空白は除外されていることに注意してください。
これをバック促進するために、仕様の文法セクションでは、実装アプローチと、これは本当に見かけます:
このため、combinator /* combinators can be surrounded by whitespace */ : S+ | S* [ '>' | '+' | '~' | COLUMN | '/' IDENT '/' ] S* ;
CSSパーサは、単にスペースを取り除く必要があるとして、以下はすべて有効です。
a>b {}
a > b {}
a> b {}
a >b {}
a > b {}
をだからあなたの質問に答えるために:いいえ、違いはありませんが。
ただし、どちらを使用するべきかは、純粋に個人的な好みの問題です。私にとっては、a > b
を選ぶのは、読みやすくするためだと思うからですが、a>b
またはa > b
と入力すると、それは完全にあなた次第です。あなたのコードを読まなければならない人はいないでしょう後者のアプローチで1番のファン!
も参照してください:https://stackoverflow.com/questions/23581885/css-vs https://stackoverflow.com/questions/39091583/whitespace-in-css-selectors(コンビネーションには関係ありませんが、https:///stackoverflow.com/questions/5930898/what-are-the-rules-around-whitespace-in-attribute-selectors)。 – BoltClock
そのような差はありません。デモについては、以下のスニペットを参照してください。
.a>.b{
color: red;
}
.c > .d{
color: red;
}
<div class="a">
Class a
<div class="b">
Class b
</div>
</div>
<div class="c">
Class c
<div class="d">
Class d
</div>
</div>
まず第一に、両方が動作する間、またはない何の効果スペースはありません。
例は、以下のDOM構造で動作します:
<a><b></b></a>
何ですか? CSSで親を選択することはありますか?心が吹き飛ばされました – Dummy
両者の間に違いはありません。
なぜそうでないのか少し説明したいことがあります。私。ドキュメンテーションを参照してください。 –
はい、1つはスペースで、もう1つはスペースではありません。それはそれだ –
違いは後者は2文字以上を入力する必要があることです(* No differerence *) – Dummy
CSSプロパティの適用に関しては違いはありません。あなたはその問題に直面していますか? – nabanita