我想从 css 的一般继承中排除一个。我在 css 上添加了":not",但它仍然在子项上传递继承。此外,我还添加了一个新的id和一个新的类,但仍然没有遵循它们。
网页代码 <a id="epLogin" href="#" class="pLogin" > GET ON TOP! </a>
CSS 格式
a:hover,
a:active,
a:focus,
#Mainbody div.tags a:hover,
#Mainbody a:not(#epLogin) {
color: #3498db;
}
#epLogin {
margin-top: 0px;
background: #00B5F7;
color: #fff;
font-weight: bold;
right: 20px;
height: 38px;
padding: 0 18px;
position: absolute;
top: 10px;
line-height: 39px;
}
除了
将这些属性设置为特定值之外,您无法阻止元素从其父级继承属性。
您可以从选择器中排除元素,但随后必须对该选择器的每个变体执行此操作:
a:not(#epLogin):hover,
a:not(#epLogin):active,
a:not(#epLogin):focus,
#Mainbody div.tags a:not(#epLogin):hover,
#Mainbody a:not(#epLogin)
但我不会那样做。再次将属性设置为基本值要简单得多。尤其是在使用 CSS 预处理器时。例如:
a:hover, a:active, a:focus {
color: #3498db;
}
#epLogin a:hover, #epLogin a:active, #epLogin a:focus {
color: #fff;
}