有没有相反的显示:无?
与visibility: hidden
相反visibility: hidden
是visibility: visible
。 同样,有没有什么相反的display: none
?
很多人都搞不清楚如何在显示元素时显示元素display: none
,因为它不像使用visibility
属性那样清晰。
我可以只使用visibility: hidden
而不是display: none
,但它没有给出相同的效果,所以我不会用它。
display: none
没有像visibility:hidden
文字相反visibility:hidden
。
visibility
属性决定一个元素是否可见。 因此它有两个状态( visible
和hidden
),彼此相反。
然而, display
属性决定了元素将遵循的布局规则。 CSS中有几种不同的元素规则,所以有几个不同的值( block
, inline
, inline-block
等), 请参阅这些值的文档 。
display:none
从页面布局中完全删除一个元素,就好像它不在那里一样。
display
所有其他值都会使该元素成为页面的一部分,因此从某种意义上说,它们都与display:none
相反display:none
。
但没有一个价值是展示的直接反映display:none
– 就像没有一个发型与“秃头”相反。
与display: none
相反display: none
(还)没有。
但display: unset
非常接近,在大多数情况下工作。
来自MDN (Mozilla开发者networking):
未设置的CSS关键字是初始和inheritance关键字的组合。 与其他两个CSS范围的关键字一样,它可以应用于任何CSS属性,包括CSS速记all。 如果该属性inheritance自其父项,则将该属性重置为其inheritance的值,否则将该属性重置为其初始值。 换句话说,它的行为就像第一种情况下的inheritance关键字,而第二种情况下的初始关键字一样。
(来源: https : //developer.mozilla.org/docs/Web/CSS/unset )
还要注意display: revert
目前正在开发中。 详情请参阅MDN 。
当在Javascript中改变元素的display
时,在许多情况下,“撤消” element.style.display = "none"
的结果的适当select是element.style.display = ""
。 这将从style
属性中删除display
声明,将display
属性的实际值恢复为文档样式表中设置的值(如果不在其他地方重新定义,则返回到浏览器默认值)。 但更可靠的方法是在CSS中有一个类
.invisible { display: none; }
并向/从element.className
添加/删除这个类名。
您可以使用
display: normal;
它正常工作….它是一个小黑客在CSS;)
像Paul解释的那样,没有任何字面上的显示:HTML中没有,因为每个元素都有不同的默认显示,你也可以使用类或内联样式等来改变显示。
但是,如果你使用类似jQuery的东西,它们的显示和隐藏function的行为就好像有一个与display none相反的东西。 当你隐藏,然后再显示一个元素时,它将以与隐藏之前完全相同的方式显示。 他们通过存储显示属性的旧值来隐藏元素,这样当你再次显示时,它将以与隐藏之前相同的方式显示。 https://github.com/jquery/jquery/blob/740e190223d19a114d5373758127285d14d6b71e/src/css.js#L180
这意味着如果你设置一个div来显示内联或内联块,并且你隐藏它然后再显示它,它将再次显示为与之前相同的内联或内联块显示
<div style="display:inline" >hello</div> <div style="display:inline-block">hello2</div> <div style="display:table-cell" >hello3</div>
脚本:
$('a').click(function(){ $('div').toggle(); });
请注意,div的显示属性即使在被隐藏(display:none)后仍然保持不变,并再次显示。
我使用display:block;
这个对我有用
在打印友好的样式表的情况下,我使用以下内容:
/* screen style */ .print_only { display: none; } /* print stylesheet */ div.print_only { display: block; } span.print_only { display: inline; } .no_print { display: none; }
当我需要打印包含值的表单并且input字段很难打印时,我使用了这个。 所以我添加了包装在span.print_only标签中的值(div.print_only在其他地方使用),然后将.no_print类应用到input字段。 所以在屏幕上你会看到input字段,当打印时,只有值。 如果你想变得更好看,你可以使用JS来更新span标签中的值,当字段被更新时,但在我的情况下这是不必要的。 也许不是最优雅的解决scheme,但它为我工作!
display: none
的最佳答案是display: none
display:inline
要么
display:normal
你可以使用这个display:block;
并添加overflow:hidden;
可见性:隐藏将隐藏元素,但元素是他们与DOM。 而在显示的情况下:没有它会从DOM中删除元素。
所以你可以select元素来隐藏或取消隐藏。 但是,一旦你删除它(我的意思是没有显示),它并没有明确的相反的价值。 显示有几个值,如显示:块,显示:内联,显示:内联块等等。 你可以从W3C检查出来。
最好的“相反”是将其返回到默认值,即:
display: inline