[英]padding:initial vs. padding:0
padding:initial
是否比padding:initial
有任何优势padding:0
? 例:
<style>
textarea {
padding: 0;
}
</style>
<textarea>Hello, world!</textarea>
它们的意思相同,因为padding
的初始值实际上是所有方面都为零。 你可以在propdefs中找到这个,用于padding
及其在规范的这一部分中的longhands。
在这种情况下,考虑到padding
属性的性质,以及此初始值基本上是常识的事实,设置padding: initial
没有太大的优势padding: initial
padding: 0
。
事实上,有一个缺点 ,那就是它的浏览器支持不完整,因为它是一个相对较新的关键字。 也就是说,如果此元素上的padding
不是零,则不支持该关键字的浏览器将完全忽略该声明,从而导致该属性不会重置为零。
当与CSS3级联模块中定义的新属性一起使用时, initial
关键字最有用(其中没有一个实现AFAIK,并且关键字本身已定义)。 当您只想将属性重置为其初始值而不关心实际值是什么时,也可以使用它,这对于默认继承的属性(例如color
)特别有用(尽管在这种情况下初始值将是是currentColor
),或者在“初始”值可能因布局而变化的情况下,因此不能确定为固定值。 然而,这种情况很少见。
最后,请注意“初始值”和“浏览器默认值”不一样; 初始值由spec定义,它与浏览器在某些元素上分配给某些属性的值分开,作为其默认样式表的一部分。 没有可靠的方法可以将属性重置为给定元素的浏览器默认值,而无需使用先验知识甚至JavaScript来确定此默认值。 请参阅此答案以获取说明。
Actualy两者都是相同的,但是Initial
给开发人员更多的自由。(@ simon的评论)它不能总是为零,它可以是任何初始值。
因此使用填充没有太大的优势:初始填充:0
初始CSS关键字将属性的初始值应用于元素。 它允许在每个CSS属性上,并导致指定它的元素使用属性的初始值。
另一个例子
<p style="color:red">
this text is red
<em style="color:initial">
this text is in the initial color (e.g. black)
</em>
this is red again
</p>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.