可见性:隐藏的反面是可见性:可见。同样地,是否有相反的显示:没有?
当一个元素有display: none时,许多人都搞不清楚如何显示它,因为它不像使用visibility属性那么清楚。
我可以只使用visibility: hidden而不是display: none,但它不会产生相同的效果,所以我不会使用它。
可见性:隐藏的反面是可见性:可见。同样地,是否有相反的显示:没有?
当一个元素有display: none时,许多人都搞不清楚如何显示它,因为它不像使用visibility属性那么清楚。
我可以只使用visibility: hidden而不是display: none,但它不会产生相同的效果,所以我不会使用它。
当前回答
与显示完全相反的是:没有(目前)没有。
但是display: unset非常接近,在大多数情况下都可以工作。
来自MDN (Mozilla开发者网络):
unset CSS关键字是初始关键字和继承关键字的组合。像这两个CSS范围的关键字一样,它可以应用于任何CSS属性,包括CSS简写all。如果属性从其父继承,则该关键字将属性重置为其继承值,如果不是其父继承,则将属性重置为其初始值。换句话说,它的行为类似于第一种情况下的继承关键字,而类似于第二种情况下的初始关键字。 (来源:https://developer.mozilla.org/docs/Web/CSS/unset)
还要注意display: revert目前正在开发中。详见MDN。
其他回答
当在Javascript中改变元素的显示时,在很多情况下,一个合适的选项来“撤销”element.style.display = "none"的结果是element.style.display = ""。这将从样式属性中删除display声明,将display属性的实际值恢复为文档样式表中设置的值(如果没有在其他地方重新定义,则恢复为浏览器默认值)。但更可靠的方法是在CSS中有一个类
.invisible { display: none; }
并从element.className中添加/删除这个类名。
在使用react native时,与“none”相对的是“flex”。
visibility:hidden将隐藏元素,但元素是他们的DOM。在display:none的情况下,它会从DOM中移除元素。
你可以为元素选择hide或unhide。但是一旦你删除它(我的意思是不显示),它就没有明确的相反值。Display有几个值,如Display:block, Display:inline, Display:inline-block和许多其他值。你可以从W3C找到它。
就像Paul解释的那样,没有与显示相反的文字:在HTML中没有,因为每个元素都有不同的默认显示,你也可以用类或内联样式等改变显示。
However if you use something like jQuery, their show and hide functions behave as if there was an opposite of display none. When you hide, and then show an element again, it will display in exactly the same manner it did before it was hidden. They do this by storing the old value of the display property on hiding of the element so that when you show it again it will display in the same way it did before you hid it. 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:unset将其设置回初始值,而不是之前的“Display”值
我只是复制了之前的显示值(在我的情况下display: flex;) 再次(在display non之后),并且它过度尝试了display:none成功
(我使用display:none来隐藏移动和小屏幕的元素)