What is use of 'initial' value in CSS?
我认为initial值将还原最初呈现的样式(由浏览器的内部用户代理样式表应用)。
例:
1 2 3 4 5 6 7
| div.inline {
display: inline;
}
div.initial {
display: initial;
} |
我希望div.inline规则在串联模式下显示,而div.initial规则将使用div的原始显示值block显示。
但是,当我探索这一点时,会内联显示。 我错了吗? 谁能详细说明一下?
-
这里是初始值的一个很好的解释:stackoverflow.com/q/35689456/3597276
initial值(非属性)表示属性的初始值,如CSS规范中所定义:"'initial'关键字表示指定为属性初始值的指定值。"因此,其含义取决于属性,而不取决于其他任何内容,例如不在浏览器上或在应用该属性的元素上。因此,这并不意味着浏览器默认。
例如,对于display属性,initial始终表示inline,因为这是该属性的指定初始值。在示例情况下,浏览器默认为block,因为元素为div。
因此,initial值的用途有限。由于误解,它的主要作用似乎是使人们感到困惑。一个可能的用例是color属性,因为它的初始值取决于浏览器(众所周知,大多数情况下为黑色,但不一定)。为此,initial表示浏览器默认设置,因为这是定义属性的方式。font-family的用法类似:通过声明font-family: initial,您将获得浏览器的默认字体(这可能取决于浏览器设置)。
由于缺乏对IE(甚至是IE 10)的支持,其用途进一步受到限制。
-
有一个非常常见的烦人的用例,其中initial极为有用:以编程方式隐藏和取消隐藏元素时,即为它提供display:none然后再次显示它。这是因为display的值太多,没有initial就没有默认值。 jQuery已经进行了多年,并且像LESS,Stylus和SCSS这样的预处理器使它变得更容易,但是它对CSS的正确性有所帮助。 IE浏览器没有限制它,但是,特别是因为其他人确实允许它在那里。
-
对不起,被带走了。当我觉得自己更有生产力时,也许我会把它放在答案中。
-
@trysis:display: initial是disply: inline的同义词,即使它根本不起作用,也不会给您带来太大的负担。
-
初始值是当浏览器呈现无法识别或不受支持的HTML元素时使用的值。 stackoverflow.com/q/35689456/3597276
-
@trysis,您能否简化一下。我不完全理解您所说的There is one very common annoying use case where initial is extremely helpful:...。最好有一个例子..thks
-
它还使用了像我这样令人沮丧的开发人员,他们只是希望2*initial成为"将默认值翻倍"的东西。
-
@ trysis,Im还对""一个非常常见的烦人的用例,其中initial极为有用"的使用情况的评论感到困惑。听起来好像您在说,当您用" display:none"隐藏一个元素然后想要再次显示它时,可以使用" display:initial",以恢复隐藏之前的所有" display"属性。那行不通。它只是赋予该元素"内联"的"显示"属性,无论其是块级元素(例如a)还是内联元素(例如)。如果您说不同的话,可以请您澄清一下吗?
-
抱歉,很久以前,当Inwa成为一名全新的开发人员时,我就写了此评论。我的意思是display: revert。不幸的是,即使现在,revert也没有很好的支持。
资源
The initial CSS keyword applies the initial value of a property to an element. It is allowed on every CSS property and causes the element for which it is specified to use the initial value of the property.
1 2 3 4 5 6 7 8 9 10 11 12 13
| /* give headers a green border */
h2 { border: medium solid green }
/* but make those in the sidebar use the value of the"color" property */
#sidebar h2 { border-color: initial; }
<p style="color:red">
this text is red
this text is in the initial color (e.g. black)
this is red again
</p> |
-
感谢您的回复。那么diff btwn inherit和initial是什么?
-
inherit从父元素获取其值。