我认为 initial
value 将恢复最初呈现的样式(由浏览器的内部用户代理样式表应用)。
例子:
div.inline {
display: inline;
}
div.initial {
display: initial;
}
我期待 div.inline
规则将显示 <div class="inline">
在线模式下,div.initial
规则将显示 <div class="initial">
使用 div
block
的原始显示值.
但是当我探索这个时,<div class="initial">
显示内联。我错了吗?谁能详细说明一下?
最佳答案
initial
value (不是属性)表示属性的初始值,如 CSS 规范中所定义:“‘initial’关键字表示指定为属性初始值的指定值。”因此,它的意义取决于属性,而不是其他任何东西,例如不在浏览器上或应用该属性的元素上。所以它不意味着浏览器默认。
例如,对于 display
属性,initial
always 表示 inline
,因为这是指定的初始值的属性(property)。在示例中,浏览器默认是block
,因为元素是div
。
因此,initial
值的用处有限。由于误解,它的主要作用似乎是混淆人们。一个可能的用例是 color
属性,因为它的初始值是依赖于浏览器的(大多数是黑色,我们知道,但不一定)。对于它,initial
表示浏览器默认值,因为这是定义属性的方式,类似的用例是 font-family
:通过声明 font-family: initial
,您将获得浏览器的默认字体(这可能取决于浏览器设置)。
由于缺乏对 IE(甚至是 IE 10)的支持,实用性进一步受到限制。
关于html - CSS 中 'initial' 值的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534561/