可见性:隐藏的反面是可见性:可见。同样地,是否有相反的显示:没有?

当一个元素有display: none时,许多人都搞不清楚如何显示它,因为它不像使用visibility属性那么清楚。

我可以只使用visibility: hidden而不是display: none,但它不会产生相同的效果,所以我不会使用它。


当前回答

在使用react native时,与“none”相对的是“flex”。

其他回答

当在Javascript中改变元素的显示时,在很多情况下,一个合适的选项来“撤销”element.style.display = "none"的结果是element.style.display = ""。这将从样式属性中删除display声明,将display属性的实际值恢复为文档样式表中设置的值(如果没有在其他地方重新定义,则恢复为浏览器默认值)。但更可靠的方法是在CSS中有一个类

.invisible { display: none; }

并从element.className中添加/删除这个类名。

你可以使用display: block

例子:

<!DOCTYPE html>
<html>
<body>

<p id="demo">Lorem Ipsum</p>

<button type="button" 
onclick="document.getElementById('demo').style.display='none'">Click Me!</button>
<button type="button" 
onclick="document.getElementById('demo').style.display='block'">Click Me!</button>

</body>
</html> 

Display: none不像visibility:hidden那样有字面上的相反含义。

visibility属性决定一个元素是否可见。因此,它有两种状态(可见和隐藏),它们彼此相反。

然而,display属性决定了元素将遵循什么布局规则。对于元素如何在CSS中布局,有几种不同的规则,因此有几种不同的值(块,内联,内联块等-请参阅这里的文档)。

Display:none从页面布局中完全删除一个元素,就好像它不存在一样。

所有其他用于显示的值都使元素成为页面的一部分,因此在某种意义上,它们都与显示相反:none。

但是没有一个值是与显示直接相反的:没有——就像没有一种发型是与“秃头”相反的一样。

与显示完全相反的是:没有(目前)没有。

但是display: unset非常接近,在大多数情况下都可以工作。

来自MDN (Mozilla开发者网络):

unset CSS关键字是初始关键字和继承关键字的组合。像这两个CSS范围的关键字一样,它可以应用于任何CSS属性,包括CSS简写all。如果属性从其父继承,则该关键字将属性重置为其继承值,如果不是其父继承,则将属性重置为其初始值。换句话说,它的行为类似于第一种情况下的继承关键字,而类似于第二种情况下的初始关键字。 (来源:https://developer.mozilla.org/docs/Web/CSS/unset)

还要注意display: revert目前正在开发中。详见MDN。

最好的“相反”是将其返回为默认值,即:

display: inline