2013-04-15 48 views
0

之前它是可能的結合僞元素:第一線和:before?其實我想在第一個p的任何一行之前都有一個字符。我嘗試:結合:一線:

p:first-line:before{content:""} 
p:before{content:"["}  

但它不工作。

謝謝你的任何建議。

回答

2

目前無法鏈接它們,也沒有辦法將內容追加到段落的每一行,只有第一個只有CSS。此外,content財產是only used:before:after

請參閱部分上http://www.w3schools.com/css/css_pseudo_elements.asp「多僞元素」,看你怎麼能有效地結合僞元素:

p:first-letter { 
    color:#ff0000; 
    font-size:xx-large; 
} 
p:first-line { 
    color:#0000ff; 
    font-variant:small-caps; 
} 
+0

謝謝你的回答。 –

2

它是不可能有連續兩個僞元素;對於選擇器,CSS 2.1 synta x和CSS3 syntax都是禁止的。

W3C CSS Validator不報告p:first-line:before爲錯誤,但這是一個錯誤;我重新在此打開了一個bug report。 (如果使用雙冒號語法p::first-line::before,錯誤不會被觸發:驗證器說「僞元素::第一行不能出現在上下文css21 [first-line :: before]」中。)

在這種情況下,即使構造是有效的並且得到支持,也無濟於事。在:first-line上使用:before將毫無意義,因爲在第一行開始處插入內容將與在元素開始處插入內容相同。

p:before表示在p的內容的開始處的僞元素,而不是在p的每個渲染行的開始處。使用CSS無法在元素的每一行的起始處插入一個字符。