所以我正在阅读本书使用JavaScript编写的HTML5和CSS3编程,并且有使用表的练习,有一个css规则来显示和隐藏一些元素,但只有隐藏或实际上在css中显示:none属性是working和display:normal表示它在css中的值无效。
.hidden {
display: none;
}
.visible {
display: normal;
}
本书是否可能在显示方面出现了错误:正常属性还是我做错了什么?
答案 0 :(得分:8)
是的,display: normal
无效。
默认值display
可能取决于您对“默认”的含义。
每个属性都有一个初始值,在属性中定义 定义表。如果该属性不是inherited property, 并且cascade不会产生值,那么该属性的specified value就是initial value。
display
的初始值为inline
。
Inherited value,以防该属性具有可继承性
Inheritance将父元素的属性值传播到 他们的孩子。元素上属性的inherited value 是元素的父元素上属性的计算值。
display
不可继承,因此无关紧要。
Conforming user agents必须应用默认样式表(或 表现得像他们一样)。用户代理的默认样式表应该 以满足的方式呈现文档语言的元素 对文档语言的一般表达期望(例如,对于 可视浏览器,HTML中的EM元素使用斜体显示 字体)。参见例如HTML user agent style sheet。
在该样式表中,浏览器使用display: block
,display: table
等对某些元素进行样式设置。
用户可能能够指定特定的样式信息 文档。
这些是您的样式表。
级联将导致最新的适用(实际上它更复杂,因为有特殊性,作用域和!important
等。
如果要将某些属性设置为默认值,可以使用
initial
(在CSS Cascade 3中引入)
该媒体资源initial value成为其specified value。
然后,display: initial
将等同于display: inline
。
inherit
(在CSS2中引入)
然后,display: inherit
将使用父元素的值(或根元素的初始值)。
unset
(在CSS Cascade 3中引入)
由于display
不可继承,display: unset
将等同于display: initial
,即display: inline
。
revert
(在CSS Cascade 4中引入)
在作者样式表中使用时,
将级联回滚到用户级别,以便计算specified value,就像没有指定作者级规则一样 这个属性。
这可能就是你想要的。