Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示:无和将HTML元素的高度和宽度设置为0有什么区别?_Javascript_Html_Css - Fatal编程技术网

Javascript 显示:无和将HTML元素的高度和宽度设置为0有什么区别?

Javascript 显示:无和将HTML元素的高度和宽度设置为0有什么区别?,javascript,html,css,Javascript,Html,Css,如果我们想让一个元素完全从页面中消失,我们可以使用CSS属性值display:none 或者,我们可以有效地隐藏一个具有可见性的元素:hidden,但该元素仍然会占用空间,就好像它在那里一样,这是我不想要的 因此,如果我想在不使用display:none的情况下实际隐藏一个元素,我会看到一个选项,可以显式地将元素的宽度和高度设置为0 这两者之间的语义区别是什么?没有高度或宽度的元素仍然有边距和/或边框,并且仍然会通过其在树中的存在影响周围的元素,例如使用float和clear规则。只有显示有的元

如果我们想让一个元素完全从页面中消失,我们可以使用CSS属性值
display:none

或者,我们可以有效地隐藏一个具有
可见性的元素:hidden
,但该元素仍然会占用空间,就好像它在那里一样,这是我不想要的

因此,如果我想在不使用
display:none
的情况下实际隐藏一个元素,我会看到一个选项,可以显式地将元素的
宽度和
高度设置为
0


这两者之间的语义区别是什么?

没有高度或宽度的元素仍然有边距和/或边框,并且仍然会通过其在树中的存在影响周围的元素,例如使用float和clear规则。只有显示有
的元素:无真正不存在。

没有高度或宽度的元素仍然有边距和/或边框,并且仍然会通过其在树中的存在影响周围的元素,例如使用浮动和清除规则。只有带有
display:none
的元素才真正不存在。

display:none
将该元素从页面中取出,因此屏幕阅读器无法看到它。如果要从dom中完全删除元素,应该使用
display:none
,否则也会执行相同的操作

.hidden {
    visibility: hidden;
    position: absolute;
    top: -9999px;
    left: -9999px;
}

display:none
将元素从页面中取出,因此屏幕阅读器无法看到它。如果要从dom中完全删除元素,应该使用
display:none
,否则也会执行相同的操作

.hidden {
    visibility: hidden;
    position: absolute;
    top: -9999px;
    left: -9999px;
}

“显示”特性告诉浏览器如何显示图元。显示:无表示该元素根本不会出现在页面上。将不会为其分配任何空间。它将被隐藏。但是如果你把高度和宽度设为0px;在这种情况下,内容将出现,内容将溢出到div之外。

显示属性告诉浏览器如何显示元素。显示:无表示该元素根本不会出现在页面上。将不会为其分配任何空间。它将被隐藏。但是如果你把高度和宽度设为0px;然后,在这种情况下,内容将出现,并且内容将溢出到div之外。

您避免显示的理由是什么:无?闻起来像是SEO问题?如果存在css
display:none
属性,为什么要使用
width
height
等于0?这背后有什么原因吗?这可能取决于浏览器的实现……你避免显示的理由是什么:无?这听起来像是一个SEO问题?如果有css
display:none
属性可用,为什么要使用
width
height
等于0?这背后有什么原因吗?这可能取决于浏览器的实现……比如说,除了高度和宽度之外,它没有其他属性集。它真的存在吗?是的,它仍然存在。例如,如果元素有两个兄弟元素,它将防止它们的边界塌陷。这很有趣!顺便说一句,我的意思是边距在上面塌陷,而不是边框…比如说,除了高度和宽度,它没有其他属性集。它真的存在吗?是的,它仍然存在。例如,如果元素有两个兄弟元素,它将防止它们的边界塌陷。这很有趣!顺便说一句,我的意思是边距在上方塌陷,而不是边框。。。