【发布时间】:2021-01-09 23:55:53
【问题描述】:
MDN 说:
这与使用 CSS 属性 display 来控制元素的可见性完全不同。
我确实注意到,当我隐藏一个元素时,它会得到display: none;。
.hidden = true 与设置display: none; 有何不同?
【问题讨论】:
-
@RayeesAC 这如何回答我的问题?
标签: javascript html css
MDN 说:
这与使用 CSS 属性 display 来控制元素的可见性完全不同。
我确实注意到,当我隐藏一个元素时,它会得到display: none;。
.hidden = true 与设置display: none; 有何不同?
【问题讨论】:
标签: javascript html css
一个是 HTML,另一个是 CSS。 HTML 用于语义,而 CSS 用于样式。一些 HTML 元素和属性碰巧带有默认样式,具体取决于用户代理。
这就像<strong>(在大多数用户代理中默认显示为粗体)和<span style="font-weight: bold">之间的区别。
【讨论】:
归根结底是:
display:none 完全隐藏页面中的元素。它没有被渲染。您仍然可以通过 DOM 与它进行交互,但没有为它分配空间,并且它不会在视觉上影响页面上的任何其他元素。
visibility:hidden 仅隐藏元素,但空格保留。它会影响页面上的其他元素。你看不到it,但你可以看到它的空格
【讨论】:
display: none 和hidden HTML 属性之间的区别时,您回答了display: none 和visibility: hidden 之间的区别。