Javascript 显示:无和将HTML元素的高度和宽度设置为0有什么区别?
如果我们想让一个元素完全从页面中消失,我们可以使用CSS属性值Javascript 显示:无和将HTML元素的高度和宽度设置为0有什么区别?,javascript,html,css,Javascript,Html,Css,如果我们想让一个元素完全从页面中消失,我们可以使用CSS属性值display:none 或者,我们可以有效地隐藏一个具有可见性的元素:hidden,但该元素仍然会占用空间,就好像它在那里一样,这是我不想要的 因此,如果我想在不使用display:none的情况下实际隐藏一个元素,我会看到一个选项,可以显式地将元素的宽度和高度设置为0 这两者之间的语义区别是什么?没有高度或宽度的元素仍然有边距和/或边框,并且仍然会通过其在树中的存在影响周围的元素,例如使用float和clear规则。只有显示有的元
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问题?如果存在cssdisplay:none
属性,为什么要使用width
和height
等于0?这背后有什么原因吗?这可能取决于浏览器的实现……你避免显示的理由是什么:无?这听起来像是一个SEO问题?如果有cssdisplay:none
属性可用,为什么要使用width
和height
等于0?这背后有什么原因吗?这可能取决于浏览器的实现……比如说,除了高度和宽度之外,它没有其他属性集。它真的存在吗?是的,它仍然存在。例如,如果元素有两个兄弟元素,它将防止它们的边界塌陷。这很有趣!顺便说一句,我的意思是边距在上面塌陷,而不是边框…比如说,除了高度和宽度,它没有其他属性集。它真的存在吗?是的,它仍然存在。例如,如果元素有两个兄弟元素,它将防止它们的边界塌陷。这很有趣!顺便说一句,我的意思是边距在上方塌陷,而不是边框。。。