所以我正在阅读本书使用JavaScript编写的HTML5和CSS3编程,并且有使用表的练习,有一个css规则来显示和隐藏一些元素,但只有隐藏或实际上在css显示:none属性正在工作, display:normal表示它在css中的值无效.
.hidden { display: none; } .visible { display: normal; }
这本书是否有可能显示错误:正常财产或我做错了什么?
是的,display: normal
无效.
默认值display
可能取决于您对"默认"的含义.
初始值:
每个属性都有一个初始值,在属性的定义表中定义.如果属性不是继承属性,并且级联不会产生值,则属性的指定值是其初始值.
初始值display
是inline
.
继承的值,如果该属性是可继承
继承将属性值从父元素传播到其子元素.元素上属性的继承值是元素父元素上属性的计算值.
display
在不可继承,所以这是不相关的.
用户代理样式表:
符合条件的用户代理必须应用默认样式表(或者表现得像它们一样).用户代理的默认样式表应以满足文档语言的一般表示期望的方式呈现文档语言的元素(例如,对于可视浏览器,HTML中的EM元素使用斜体字体呈现).请参阅例如HTML用户代理样式表.
在这种样式表,浏览器风格的一些元素display: block
,display: table
等等.
用户样式表,
用户可能能够指定特定文档的样式信息.
作者样式表
这些是你的样式表.
级联将导致最新的适用(实际上它更复杂,因为有特殊性,作用域等!important
).
如果要将某些属性设置为默认值,可以使用
initial
(在CSS Cascade 3中介绍)
属性的初始值变为其指定值.
然后,display: initial
将相当于display: inline
.
inherit
(在CSS2中介绍)
在继承值成为属性的规定和 计算值
然后,display: inherit
将使用父元素的值(或根元素的初始值).
unset
(在CSS Cascade 3中介绍)
如果它是一个继承的属性,
inherit
则将其视为,如果不是,则将其视为initial
.
由于display
不可继承,display: unset
将等同于display: initial
,即display: inline
.
revert
(在CSS Cascade 4中介绍)
在作者样式表中使用时,
将级联回滚到用户级别,以便计算指定的值,就好像没有为此属性指定作者级规则.
这可能就是你想要的.