<div><p>this is paragraph</p><a href="#">this is a link</a></div>div {/*设置字体颜色不会被a标签继承,因为a标签有默认样式*/color: red;background-color: #ccc;font: 20px Verdana,Helvitica,sans-serif;}
结论:由于 css 的层叠(cascading),a元素继承自div的样式(color:red)被浏览器的a元素的默认样式给覆盖了
分析:
图一:
图二:
由以上两个图可知:
1.浏览器本身对a元素有默认样式,(user agent stylesheet)(图二),对p元素没有默认样式(图一)
2.由于css的层叠,a元素red继承自div(Inherited from div)被划掉了(图二)
解决:
1.更改a标签的默认样式
div {color: red;background-color: #ccc;font: 20px Verdana,Helvitica,sans-serif;}/*更改a标签的默认样式*/a {color: black;}
2.将a标签的默认样式更改为继承color: inherit;
a {color: inherit;}
原理:

参考资料
Cascade - CSS
stackoverflow
《css权威指南》 第三章
