这个问题在这里已有答案:
- 如何删除CSS line-through 1个答案
4856
2017-11-13 08:39
起源
脱掉p :: first-line造型,它取代了你的第一款造型 - Geeky
但我想在第一行中除了第一个字符之外的上线 - Cody
对不起,我得到了 - Geeky
你可以这样做: jsfiddle.net/bp7t1L47 请注意,我必须使用十六进制来表示bgr颜色,而不是rgba,因为透明度使得上线可见(我看到你试图做的,在注释行中) - sinisake
是的,它只适用于firefox而不是chrome。我甚至尝试过前缀 -webkit- 至 text-decoration-color 属性。但仍然没有使用chrome - Cody
答案:
只需添加:
p::first-letter {
float: left;
}
所以它是:
p::first-line {
font-weight: bold;
text-decoration: overline;
}
p::first-letter {
float: left;
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>
6
2017-11-13 11:29
为什么这样做? - 11684
@ 11684:见 stackoverflow.com/questions/8853100/span-inside-a-link-issue - BoltClock♦
不确定,如果这是正确的解决方案。
但是,我们可以使用text-decoration-skip跳过文本修饰 链接1,LINK2,但它似乎不适合这里。
我试图将L和其他内容作为单独的元素并添加文本修饰(我知道它不是正确的),但可以帮助你
div{
display:flex;
}
p.overline::first-line{
display:inline-block;
width:100%;
font-weight: bold;
text-decoration:overline;
}
p:first-child::first-letter {
text-decoration: none;
/*text-decoration-color: rgba(59, 119, 191, 0.68);*/
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>
<div>
<p >L</p>
<p class="overline">orem 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>
</div>
希望能帮助到你
1
2017-11-13 09:17
您可以使用伪选择器隐藏它,如下所示,
p::first-line{
font-weight: bold;
text-decoration:overline;
z-index:-1;
position:absolute;
}
p::first-letter {
display: block;
color: red;
font-weight: bold;
padding: 2px 0px 0px 0px;
}
p::before{
content:'';
width:10px;
height:1px;
background:rgba(250,250,250,1);
position:absolute;
}
<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>
如果我改变的话也在这里 p::before
background:transparent;
不会起作用,因为它在后台构成 text-decoration:overline;
。所以这就是你可以隐藏的方式。只是得到正确的 background-color
为您 pseudo ::before background-color
。
另一个问题是两者 ::first-line
和 ::first-letter
不支持所有CSS样式属性。
1
2017-11-13 14:31
这有点黑客,但你可以通过在顶部绘制一小块颜色轻松摆脱不需要的上线,使用 ::after
伪元素。
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;
}
p {
position: relative;
}
p::after {
content: '';
display:block;
position:absolute;
top:0;
left:10px;
width: 16px;
height: 8px;
background-color: rgb(122,163,212);
}
<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>
1
2017-11-13 13:39