2016-03-03 92 views

回答

7

選擇器p::first-letter選擇p中的第一個字母,而p ::first-letter選擇p的子元素中的第一個字母。

p ::first-letter相當於p *::first-letter。下面的是什麼specs說:

如果*代表的通用選擇器(即沒有命名空間前綴)不是簡單的選擇選擇序列的唯一組成部分或後面緊跟着一個僞元素,那麼*可能被忽略,並且通用選擇器的存在隱含。

注:即使選擇(p ::first-letter)本身指向所有子元素中的第一個字母,將::first-letter選擇僅適用於塊或內聯塊元素,因此不會對span工作,除非其display被修改。

p ::first-letter { 
 
    color: red; 
 
} 
 
p::first-letter { 
 
    color: blue; 
 
} 
 

 
span{ 
 
    display: inline-block; 
 
}
<p>Some text <span>inside a span</span> and <span>inside this span too</span> 
 
</p>

+0

你真的應該把這些作爲重複。 :) –

+0

@Paulie_D得到web-tiki錘擊它。我已經離開了我的答案,因爲我們中的一些人覺得我的答案有更多的信息。 – Harry

+1

S'fine由我...我已經清理了我的意見...你可能也想這樣做。 –

0

p ::first-letter表示改變任何元素的第一個字母的樣式,這是p的後代。而p::first-letter意味着更改p元素的第一個字母。

+0

事實並非如此。該空間表示選擇器是[後代組合器](https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_selectors)(即選擇所有兒童,孫輩等元素的第一個字母在'p'標籤內)... – War10ck

+0

我站好了。我修改了我的答案。 – kojow7

相關問題