副标题(补充):理解浏览器默认的样式行为
在你为网站中的某个DOM元素编写CSS样式之前,浏览器会给这个DOM元素添加一个默认的样式。
你有没有想过这些默认样式是由谁来决定的?
在这篇文章中,我将教会你:
浏览器中不同级别的CSS每一级CSS是如何工作的我们该如何去控制
在我刚开始学习CSS的时候,我还以为所有的CSS默认样式都来自于浏览器自身的“User-AgentStylesheet”文件。但是后来,我发现我错了,这只是冰山一角。
让我们开始吧!
Level1——CSS属性的默认样式
每个CSS属性都有一个规范。这些规范也是W3C标准的一部分。
初始值
每个CSS属性都有一个初始值。这个初始值不依赖于该CSS属性所应用的HTML元素。也就是说,对于所有的HTML元素,如果具有某个CSS属性的话,那么这个属性都会有一个初始值,并且初始值都是一样的。
我相信绝大多数web开发者都不知道这一点。
以CSS的定位属性(position)为例:
.some-class{position:absolute;top:20px;left:20px;}复制代码你知道position属性的默认值是什么吗?
很多web开发者都回答不出来。正确的答案是:static。
类似的还有其它与定位相关的属性,比如:top/bottom/left/right,它们的初始值都是auto。
请记住——在你开始编写样式之前,这些CSS属性的基本样式就已经存在了。。。
下面是CSS定位相关属性的默认值:
{position:static;top:auto;bottom:auto;left:auto;right:auto;}复制代码想知道每个CSS属性的初始值是什么?最佳途径就是查阅MDN文档:
中文文档(查阅“规范”部分):