CSS里有三种常用的属性值继承方式:inherit,initial和unset。我们用一个简单的例子来演示一下:
<ul style="color: green;"> <li>Default <a href="#">link</a> color</li> <li>Inherit the <a style="color: inherit;" href="#">link</a> color</li> <li>Reset the <a style="color: initial;" href="#">link</a> color</li> <li>Unset the <a style="color: unset;" href="#">link</a> color</li> </ul>
第一项没有规定颜色继承方式,因此使用浏览器对<a>标签预设的超链接样式表,在这里是蓝色;
[注] 浏览器预设样式表:可以理解为浏览器帮我们为<a>写了个style,其优先级自然就高于其父元素了。
第二项将继承方式设置为inherit,于是使用其父(或祖父,etc)元素的颜色值,在这里是绿色;
第三项将继承方式设置为initial,表示使用color属性初始值(黑色);
[注]不要混淆属性初始值和浏览器样式表指定值。
第四项将继承方式设置为unset,意思是恢复其原本的继承方式。对color属性而言,就相当于inherit;而对于诸如border这样默认不继承的属性,就相当于initial。