Css 属性的默认值
所以我正在读这本微软的《用JavaScript和CSS3在HTML5中编程》这本书,有一个使用表格的练习,有一个css规则来显示和隐藏一些元素,但只有隐藏的或实际的css显示:none属性在工作,display:normal表示它在css中是无效的值Css 属性的默认值,css,Css,所以我正在读这本微软的《用JavaScript和CSS3在HTML5中编程》这本书,有一个使用表格的练习,有一个css规则来显示和隐藏一些元素,但只有隐藏的或实际的css显示:none属性在工作,display:normal表示它在css中是无效的值 .hidden { display: none; } .visible { display: normal; } 这本书中的display:normal属性可能是错误的,还是我做错了什么?是的,display:normal无效 d
.hidden {
display: none;
}
.visible {
display: normal;
}
这本书中的display:normal属性可能是错误的,还是我做错了什么?是的,
display:normal
无效
display
的默认值可能取决于“default”的含义
display
的初始值为inline
在不可继承中显示
,因此这不相关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要好。