visibility:hidden和display:none之间有什么区别?

空扰寡人 提交于 2019-12-12 14:30:56

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

CSS规则visibility:hiddendisplay:none都会导致元素不可见。 这些同义词是?


#1楼

display:none从布局流中删除元素。

visibility:hidden隐藏它但留下空间。


#2楼

display:none表示相关标签根本不会出现在页面上(尽管您仍然可以通过dom与它进行交互)。 其他标签之间不会为其分配空间。

visibility:hidden表示与display:none不同,标记不可见,但在页面上为其分配了空间。 标记已呈现,它只是在页面上看不到。

例如:

test | <span style="[style-tag-value]">Appropriate style in this tag</span> | test

display:none替换[style-tag-value]导致:

test |   | test

visibility:hidden替换[style-tag-value]导致:

test |                        | test

#3楼

display: none完全从页面中删除元素,并且构建页面就像元素根本不存在一样。

Visibility: hidden了文档流中的空间,即使您无法再看到它。

这可能会也可能不会产生很大的不同,这取决于你在做什么。


#4楼

它们不是同义词 - display: none从页面流中删除元素,页面的其余部分就像它不存在一样流动。

visibility: hidden隐藏了视图中的元素,但不隐藏页面流,在页面上留下了空间。


#5楼

visibility:hidden对象仍占据页面的垂直高度。 使用display:none它被完全删除。 如果图像下方有文本并且您display:none ,则该文本将向上移动以填充图像所在的空间。 如果您执行可见性:隐藏文本将保留在同一位置。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!