结合:第一线:之前

时间:2013-04-15 20:40:59

标签: css css-selectors pseudo-element

可以组合伪元素:第一行和:之前?实际上我想在p的任何一行之前有一个角色,除了第一个。我试试:

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

但它不起作用。

感谢您的任何建议。

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分: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] ”。)

即使构造有效且受支持,在这种情况下也无济于事。在:before上使用:first-line将毫无意义,因为在第一行的开头插入内容与在元素的开头插入内容相同。

p:before表示p内容开头的伪元素,而不是p每条渲染行的开头。不能使用CSS在元素的每一行的开头插入一个字符。