我目前正在嘗試使用Sequence.js,這是迄今爲止令人敬畏的。儘管如此,我有一條線我很難解釋。它是這樣的:CSS使用'>'(大於)和'*'(明星)
#sequence .seq-canvas > * {...}
我發現>
意味着所有直接給定類的後代。所以,如果說這個
CSS
#sequence .seq-canvas > li {color: red}
那麼這將意味着所有李時珍是僅低於.SEQ畫布 - 元素。例如:
HTML
<div id="sequence">
<ul class="seq-canvas">
<li>This is red</li>
<li>This is also red</li>
<li>
<ul>
<li>This is not red?</li>
<li>Neither is this?</li>
</ul>
<li>But this is red</li>
</ul>
</div> <!-- sequence -->
...對不對?
而且顯然*
意味着所有元素。但是,如果>和*相結合,那麼會讓我困惑。所以這裏有一個例子:
CSS
#sequence .seq-canvas > * {color: blue;}
HTML
<div id="sequence">
<ul class="seq-canvas">
<li>This must be blue</li>
<li>So is this</li>
<li>
<ul>
<li>But is this blue?</li>
</ul>
<li>This must also be blue...</li>
<li>How about <span>SPANS</span> - will they be blue as well?</li>
<div>Or let's say that I put a div in here (even
though I know it's not right), does this then
mean that this is blue?
</div>
</ul>
</div> <!-- sequence -->
?
你理解是正確的。爲什麼開發者選擇這樣做是另一個問題。 – j08691
RTFM? https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors'>組合器分離兩個選擇器,並僅匹配由第二個選擇器匹配的那些與第一個匹配的元素的直接子元素的元素。 –