【发布时间】:2016-11-13 08:39:34
【问题描述】:
我正在尝试使用p::first-letter 选择器从第一个字母中删除文本装饰。但由于某些未知原因,我无法做到这一点。
p::first-line {
font-weight: bold;
text-decoration: overline;
}
p::first-letter {
text-decoration: none;
/*text-decoration-color: rgba(59, 119, 191, 0.68);*/
display: block;
color: red;
font-weight: bold;
background-color: rgba(59, 119, 191, 0.68);
margin: 0px 2px 1px 0;
padding: 5px 13px 5px 11px;
color: #b1ffea;
}
<h2>Heading <a href="#"><span class="anchor">#</span></a></h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequuntur eaque enim eveniet facere incidunt inventore necessitatibus non quas, repellat sed ullam unde ut vitae! Asperiores ducimus laborum magnam officia repellendus.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis ipsum laborum sunt voluptate voluptates voluptatum. A architecto beatae delectus eos itaque magnam nostrum perferendis, provident quis quos repellendus similique vitae!
Lorem ipsum dolor sit amet, consectetur <a href="#">some link</a> adipisicing elit. Ducimus itaque numquam voluptatem. Ad aspernatur consequuntur deserunt et expedita facilis id, iste maxime minus nisi odit quaerat quisquam quod tempora velit?
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dignissimos <a href="#">another link</a> illo iure magni odio quas, sint totam ut. Aliquam ipsa recusandae voluptatem! A consectetur deserunt eos quaerat rerum. Dolores, quod voluptatem.</p>
更新:
好的,我通过启用“实验性 Web 平台功能”让它在 Chrome 中运行。由于某种原因前缀-webkit- 无法触发此行为。这是工作代码。
p::first-letter{
text-decoration: overline;
text-decoration-color: rgba(59, 119, 191, 0.68);
display: block;
color: red;
font-weight: bold;
background-color: rgba(59, 119, 191, 0.68);
margin: 0px 2px 1px 0;
padding: 5px 13px 5px 11px;
color: #b1ffea;
}
【问题讨论】:
-
取消 p::first-line 样式,它会覆盖您的第一个字符样式
-
但我希望第一行中的上划线除了第一个字符
-
对不起,我明白了
-
你可以做这样的事情:jsfiddle.net/bp7t1L47 请注意,我必须使用十六进制来表示 bgr 颜色,而不是 rgba,因为透明度使上划线可见(我看到你试图做什么,在评论中行)
-
是的,它只能在 Firefox 中工作,不能在 chrome 中工作。我什至尝试将
-webkit-前缀到text-decoration-color属性。但仍然无法在 chrome 中工作