2013-12-17 61 views
0
<style type="text/css"> 
p:not(p:first-letter) 
{ 
color:#000; 
} 
</style> 

<p style="color:Blue"> 
    test test 
</p> 

它沒有像預期的那樣工作,因爲段落的所有字母都應該是黑色,除了第一個。我可以使用css3而非僞類選擇器嗎?

+1

'號碼:沒有(...)'過濾掉所有的匹配'...'的'p'元素。沒有'p'元素匹配'p:first-letter'。另外,':not()'不接受僞元素,所以這首先不起作用。 – Blender

+1

要說清楚,':first-letter'是一個僞元素,而不是像你說的那樣是僞類。 – BoltClock

回答

1

編號 first-letter僞元素不是由p選擇器返回的集合的一部分。那麼你不能排除它。 你爲什麼不只是使用:

<style type="text/css"> 
p 
{ 
color:#000; 
} 
p:first-letter{ 
    color:blue; 
} 
</style> 

<p style="color:Blue"> 
    test test 
</p> 

順便說一句,這不是一個很好的做法都沒有。你應該通過css在你的p元素和樣式上使用一個類。您不需要爲此動態生成css。

<style type="text/css"> 
p.test 
{ 
color:#000; 
} 
p.test:first-letter{ 
    color:blue; 
} 
</style> 

<p class="test"> 
    test test 
</p> 
+1

-1?爲什麼?任何意見? –

+0

我想在樣式屬性中添加顏色,因爲顏色來自數據庫,我無法使CSS動態。 – gaurav

+1

so -1 ...酷...首先,內聯CSS是「壞」。你應該使用一個類。其次,我的解決方案有效。我只是想幫助你。 –

0

css選擇器不僅需要簡單的選擇器作爲參數。

一個簡單的選擇器是:單個元素,屬性選擇器,類,id或pseude-class。簡單選擇器

實例:

body 
* 
[value="foo"] 
.foo 
#foo 
:hover 
1

的否定CSS僞類,:not(X),是一種功能性符號 服用簡單的選擇器X作爲參數。它匹配 未被參數表示的元素。 X不得包含另一個 否定選擇符或任何僞元素。

這意味着你不能使用::first-letter:not()的說法,因爲它是一個pseudo-element

嘗試周圍的其他方法:

http://jsfiddle.net/YET8v/1/

HTML:

<p>Test test</p> 

CSS:

p { 
    color: #000; 
} 

p::first-letter { 
    color: blue; 
} 
相關問題