我认为initial值将还原最初呈现的样式(如browser的内部user-agent样式表所应用)。

例:

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始终表示inline,因为这是该属性的指定初始值。在示例情况下,浏览器默认为block,因为元素为div

因此,initial值的用途有限。由于误解,它的主要作用似乎是使人们感到困惑。一个可能的用例是color属性,因为它的初始值取决于浏览器(众所周知,大多数是黑色,但不一定)。对此,initial表示浏览器默认设置,因为这是定义属性的方式。font-family的用法与此类似:通过声明font-family: initial,您将获得浏览器的默认字体(可能取决于浏览器设置)。

由于缺乏对IE(甚至是IE 10)的支持,其用途进一步受到限制。

关于html - CSS中“初始”值的用途是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58567127/

10-11 05:40