第一行伪元素不适用于p元素

时间:2016-08-06 08:55:03

标签: html css css-selectors pseudo-element

field_info
p::first-line {
  text-transform: uppercase;
}
 

如您所见,第一行尚未转换为大写。我做错了什么?

我正在使用OS X 10.11.6和Safari 9.1.2(11601.7.7)。

3 个答案:

答案 0 :(得分:5)

你的伪元素工作正常。您面临的问题是Webkit Engine中一个已知的,已有10年历史的未解决的错误,其中 ::first-line 不接受 text-transform 。< / p>

已经多次报告了这个特定的错误,但似乎没有任何解决方案。查看我发现的三份报告:

p::first-line {
  color: red;
}
 
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

对于记录, ::first-line 接受的属性为:

  • 字体属性
  • 颜色属性
  • 背景属性
  • 字间距
  • 字母间距
  • 文字修饰
  • 垂直对齐
  • 文本变换
  • 行高
  • 明确

您可以在this page中找到有关 ::first-line 的更多信息。

注意:Chromium上的错误129669已于2017年9月26日 th 修复。

答案 1 :(得分:3)

显然::first-linetext-transform组合在webkit浏览器中不起作用。在Firefox中,您的代码运行正常。检查this bug

答案 2 :(得分:1)

您可以查看::first-line here排除使用的属性。其中有

.element::first-line {
    font-style: ...
    font-variant: ...
    font-weight: ...
    font-size: ...
    font-family: ...

    line-height: ...
    color: ...
    word-spacing: ...
    letter-spacing: ...
    text-decoration: ...
    **text-transform: ...**

    background-color: ...
    background-image: ...
    background-position: ...
    background-repeat: ...
    background-size: ...
    background-attachment: ...
}