gpt4 book ai didi

css - 从悬停中排除伪元素

转载 作者:行者123 更新时间:2023-11-28 09:35:23 25 4
gpt4 key购买 nike

如何排除 :before:after 等伪元素被选择器更改,例如 :hover

也许有某种我不知道的“主要伪元素”?

我试过使用 CSS3 :not() 语句,但这没有用。

使用:.facebook:hover:before {color: black;} 工作正常,但我确信有更好的解决方案。


示例:我希望 Facebook Logo 保持黑色并更改文本颜色。

body {
background: #F7F7F7;
margin: 0px;
}
.share-button {
background: #FFFFFF;
border: 1px solid #D8D8D8;
display: inline-block;
font-family: 'Open Sans';
font-weight: 600;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 2px;
margin: 0px;
padding: 12px 24px 12px 12px;
transition: color 1s;
}
.facebook:before {
display: inline-block;
height: auto;
font-family: 'FontAwesome';
font-size: 12px;
padding-right: 12px;
width: auto;
content: '\f09a';
}
.share-button:hover {
color: #374D8D;
}
<button class="share-button facebook">
Share on facebook
</button>

最佳答案

这里的问题不是伪元素被 :hover 选择器“匹配”本身,而是它继承了 color 元素上相应 CSS 规则的属性。

这就是为什么您需要在 :before 伪元素上显式设置它的原因 — 您不能使用选择器或在父元素或原始元素上使用样式来阻止继承。

关于css - 从悬停中排除伪元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28675755/

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