gpt4 book ai didi

html - 伪元素 - "over-ride"伪元素父元素的最佳实践

转载 作者:可可西里 更新时间:2023-11-01 13:34:57 24 4
gpt4 key购买 nike

我想使用伪元素在链接后添加链接的 href,但不保留父元素的文本装饰。下面的代码显示了具有不同文本修饰的“a”和“a:after”。

a 
{
text-decoration: none;
color:#000000;
}

a:after
{
content: attr(href);
color:#999999;
text-decoration: underline;
padding-left: 10px;
}

即使文本装饰设置不同,“a great link”和“www.stackoverflow.com”都具有相同的文本装饰。 (见下文)

<a href="wwww.stackoverflow.com">一个很棒的链接</a> www.stackoverflow.com

更改伪元素的文本装饰不起作用,因为它的特异性为 1。我可以解决问题的唯一方法是向链接本身添加跨度。

.underline-kludge
{
text-decoration:underline;
}

<a href="wwww.stackoverflow.com"><span class="underline-kludge">一个很棒的链接</span></a> www.stackoverflow.com

我对这个解决方案不满意。有没有更好的办法?我是否必须向链接添加 span 才能解决此问题?

编辑 - 编辑 - 编辑

我希望伪类 (a:after) 具有与父类不同的文本装饰。我不能单独使用 css 覆盖父文本装饰。我看到如何做到这一点的唯一方法是添加一个我不想做的跨度。

最佳答案

这实际上是一个非常好的问题 - 它难住了我一段时间。

只需在:after伪元素上设置display:inline-block,让text-decoration:none生效;因此不会被覆盖。

Working jsFiddle here


See a example without display:inline-block - 你会注意到这个问题。

关于html - 伪元素 - "over-ride"伪元素父元素的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com