Css 属性的默认值

Css 属性的默认值,css,Css,所以我正在读这本微软的《用JavaScript和CSS3在HTML5中编程》这本书,有一个使用表格的练习,有一个css规则来显示和隐藏一些元素,但只有隐藏的或实际的css显示:none属性在工作,display:normal表示它在css中是无效的值 .hidden { display: none; } .visible { display: normal; } 这本书中的display:normal属性可能是错误的,还是我做错了什么?是的,display:normal无效 d

所以我正在读这本微软的《用JavaScript和CSS3在HTML5中编程》这本书,有一个使用表格的练习,有一个css规则来显示和隐藏一些元素,但只有隐藏的或实际的css显示:none属性在工作,display:normal表示它在css中是无效的值

.hidden {
    display: none;
}
.visible {
    display: normal;
}

这本书中的display:normal属性可能是错误的,还是我做错了什么?

是的,
display:normal
无效

display
的默认值可能取决于“default”的含义

  • :

    每个属性都有一个初始值,在属性的 定义表。如果该属性不是, 并且不会产生值,那么属性的值就是它的值

    display
    的初始值为
    inline

  • ,以防属性可继承

    将特性值从父元素传播到 他们的孩子。属性在元素上的位置 是元素父元素上属性的计算值

    在不可继承中显示
    ,因此这不相关

  • :

    必须应用默认样式表(或 表现得像他们那样)。用户代理的默认样式表应 以满足以下要求的方式呈现文档语言的元素 对文档语言的一般表达期望(例如 在视觉浏览器中,HTML中的EM元素使用斜体显示 字体)。例如,请参阅

    在该样式表中,浏览器使用
    display:block
    display:table
    ,等等为某些元素设置样式

  • ,

    用户可以为特定的应用程序指定样式信息 文件

  • 这些是你的样式表

  • 级联将产生最新的可应用的结果(事实上,它更复杂,因为有特殊性、范围和
    !important

    如果要将某些属性设置为默认值,可以使用

    • (在CSS级联3中介绍)

      该财产成为其财产

      然后,
      display:initial
      将等同于
      display:inline

    • (在CSS2中介绍)

      成为财产的和

      然后,
      display:inherit
      将使用父元素的值(或根元素的初始值)

    • (在CSS级联3中介绍)

      如果是继承财产,则视为, 如果不是,这将被视为

      由于
      display
      不可继承,
      display:unset
      将等同于
      display:initial
      ,即
      display:inline

    • (在CSS级联4中介绍)

      在作者样式表中使用时

      将层叠回滚到用户级别,以便在计算时如同未指定任何作者级别规则一样 对于这个属性

      这可能是你想要的


    显示
    :normal`无效。。。这就是你要问的吗?试试
    display:initial
    1+很好的答案。我没有意识到
    initial
    会将值设置为
    inline
    。。对于
    display
    属性来说,这是非常无用的。CSS2中引入了
    inherit
    关键字。当时,IE是一个痛点,因为它直到IE8(符合CSS2的版本)才实现它。巧合的是,我最近发布了一篇文章,其答案是使用
    inherit
    关键字。@Josh Crozier:在每个属性和每个元素上指定初始值是没有意义的。它只是真正存在,所以任何元素(甚至未知元素)都保证对每个属性都有一个计算值。否则,浏览器将需要为其UA样式表中的每个元素的每个属性指定值。这意味着
    display:inline
    适用于所有不必是块、表或其他内容的内容,例如。@BoltClock感谢您的更正。(顺便说一句,IE8声称完全符合CSS2.1标准是很可笑的。不过,我承认自IE7以来有了很大的改进。)@Oriol:是的,它对“CSS2.1标准”的定义接近于“Acid2标准”,这不是一个完全现实的基准。但至少比Chrome的一些bug要好。