为何<a>标签设置color:initial后显示黑色?默认值不是蓝色吗?
为什么设置
color: initial后标签显示黑色? 你遇到的困惑核心是把CSS属性的初始值和**浏览器默认样式(用户代理样式)**搞混了:
color属性的CSS初始值就是黑色
CSS规范里定义color属性的初始值是black(对应十六进制#000000),initial关键字的作用就是把属性重置为这个规范定义的初始值,而非浏览器给元素设置的默认样式。标签的蓝色是浏览器用户代理样式表的设置
浏览器自带的样式表会给未访问的链接(a:link)设置color: blue,给已访问链接(a:visited)设置color: purple,这属于浏览器的默认样式,不是CSS属性的初始值。结合你的代码具体分析:
- 默认的标签:使用浏览器默认样式,显示蓝色
.my-class-1 a:color: inherit会继承父元素<li>的颜色,而<li>继承了<body>的绿色,因此显示绿色.my-class-2 a:color: initial直接把color重置为CSS初始值黑色,覆盖了浏览器的默认蓝色,所以显示黑色.my-class-3 a:color: unset对于可继承属性(比如color)来说,效果等同于inherit,因此同样继承绿色
内容的提问来源于stack exchange,提问作者kalameet135
相关产品推荐
相关产品推荐

