2

可以结合伪元素 :first-line 和 :before? 实际上,除了第一行之外,我想在任何 ap 行之前都有一个字符。我尝试:

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

但它不起作用。

谢谢你的任何建议。

4

2 回答 2

3

目前不可能像你一样链接它们,我也想不出一种方法来将内容附加到段落的每一行,除了第一行只使用 CSS。此外,该content属性:beforeand一起使用: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;
}
于 2013-04-15T20:50:39.550 回答
2

不可能有两个连续的伪元素;CSS 2.1语法和选择器的CSS3 语法都禁止这样做。

W3C CSS Validator 不会报告p:first-line:before错误,但这是一个错误;我重新打开了一个错误报告。(如果使用双冒号语法,则不会触发该错误p::first-line::before:验证器说“伪元素 ::first-line 不能出现在上下文 css21 [first-line::before] 中”。)

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

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

于 2013-04-16T03:28:01.280 回答