以下のcssの私の考えは次のとおりです。すべてのimg要素を、値「left」とp要素の子孫を含むクラス属性と一致させます。あれは正しいですか?
p img.left { float: left; margin: 0.9em 0.9em 0.9em 0; padding: 0; }
以下のcssの私の考えは次のとおりです。すべてのimg要素を、値「left」とp要素の子孫を含むクラス属性と一致させます。あれは正しいですか?
p img.left { float: left; margin: 0.9em 0.9em 0.9em 0; padding: 0; }
はい、それは完全に正しいです。セレクターは両方の要素に一致 img
します:
<p>
<img class="left" src="http://lorempixel.com/200/200/nightlife" />
<span><img class="left" src="http://lorempixel.com/300/300/nature" /></span>
</p>
タグの第1レベルimg.left
の子孫のみを選択する場合は、次のようにできます。p
p > img.left {
/* CSS */
}
これは、含まれている内とは一致しません。img
span
同様に、 :img
内でのみ一致させることができます。span
p span img,
p span > img,
span img,
span > img {
/* CSS */
}
参照:
あなたは正しいです。
p img.left {}
HTML:
<p>
<img class="left" /> * MATCHES THIS *
<img /> * NOT THIS *
</p>
<div>
<img class="left" /> * NOT THIS *
<img /> * NOT THIS *
</div>
<p>
<img class="left" /> * MATCHES THIS *
<img /> * NOT THIS *
<span>
<img class="left" /> * ALSO MATCHES THIS *
<img /> * NOT THIS *
</span>
</p>
それでそれは内部のそれの内部p > img.left {}
と一致しませんimg
div
p