覆盖父级的CSS显示属性

时间:2013-09-08 06:41:40

标签: html css

我理解如何覆盖父样式,我知道这个例子是设计的,但有没有办法(使用内联CSS)导致子跨度显示,即使它的父设置为无显示?

<span style="display:none">
<span style="display:block;">Test</span>
</span>

2 个答案:

答案 0 :(得分:10)

简短回答:不。

答案很长:如果隐藏了父级,则无法覆盖子级中的显示。您可以使用JavaScript从其父级中删除子跨度,并将其放在可应用显示样式的主体中。诸如显示,不透明度,可见性等等,会影响他们应用的元素的子元素,效果无法完全抵消,但对于像不透明度这样的东西,可以添加它们。

答案 1 :(得分:10)

不,你不能覆盖display: none对内部元素的影响。原因是CSS规范在display property的值none的描述中明确说明了:

  

此值导致元素不出现在格式化结构中(即,在可视媒体中元素不生成框并且对布局没有影响)。后代元素也不会生成任何框;元素及其内容完全从格式化结构中删除。通过在后代上设置'display'属性,可以覆盖此行为