当前位置: 首页 > 面试题库 >

hidden属性(HTML5)和display:none规则(CSS)有什么区别?

空慈
2023-03-14
问题内容

HTML5具有新的全局属性,hidden可用于隐藏内容。

<article hidden>
   <h2>Article #1</h2>
   <p>Lorem ipsum ...</p>
</article>

CSS具有display:none规则,也可以用来隐藏内容。

article { display:none; }

在视觉上,它们是相同的。在语义上有什么区别?计算上?

在何时使用一种或另一种时,我应该考虑哪些准则?

TIA。

编辑
:根据@newtron的响应(如下),我进行了更多搜索。该hidden属性去年曾引起激烈争论,并且(显然)几乎没有使其成为HTML5规范。有人认为这是多余的,没有目的。据我所知,最终的评估结果是:如果仅针对Web浏览器,则没有区别。(甚至有一个页面断言,Web浏览器曾经display:none用于实现hidden属性。)但是,如果我正在考虑可访问性(例如,也许我希望自己的内容可以被屏幕阅读器读取),那就有所不同。CSS规则display:none可能会在网络浏览器中隐藏我的内容,但会使用相应的aria规则(例如,aria- hidden="false")可能会尝试阅读它。因此,我现在同意@newtron的答案是正确的,尽管(可能)没有我想的那么清晰。感谢@newtron的帮助。


问题答案:

关键的区别似乎是,hidden无论呈现形式如何,元素总是被隐藏:

hidden属性不得用于隐藏可以在其他演示文稿中合法显示的内容。例如,在选项卡式对话框中使用“隐藏”来隐藏面板是不正确的,因为选项卡式界面只是一种溢出演示文稿—同样可以在一个大页面中用滚动条显示所有表单控件。同样,使用此属性仅隐藏一个演示文稿中的内容也是不正确的-如果某些内容被标记为隐藏,则该内容对于所有演示文稿(包括屏幕阅读器)都是隐藏的。

由于CSS可以针对不同的媒体/演示类型,display: none因此将取决于给定的演示。例如display: none,在桌面浏览器而非移动浏览器中查看时,某些元素可能具有。或者,在视觉上隐藏起来,但仍可供屏幕阅读器使用。



 类似资料:
  • 问题内容: CSS规则以及两者均导致该元素不可见。这些是同义词吗? 问题答案: 表示相关标签根本不会出现在页面上(尽管您仍然可以通过dom与之交互)。其他标签之间将没有分配空间。 表示与不同,该标签不可见,但在页面上为其分配了空间。标签已呈现,只是在页面上看不到。 例如: 替换为结果: 替换为结果:

  • 问题内容: 可以在这里找到代码: 我发现有内标记,也有内标签。它们都是必需的吗?(在这种情况下,CSS似乎覆盖了HTML属性)关于它们之间的区别是否有任何解释? 问题答案: 我检查了文档,但是它们并不清楚如果同时设置了它们。 那藏在这里的某个地方: UA可以选择使用HTML源文档中的表示属性。如果是这样,则将这些属性转换为对应的CSS规则,其特异性等于0,并且将其视为在作者样式表的开头插入。因此,

  • 问题内容: 在jQuery 1.6.1中进行更改之后,我一直在尝试定义HTML中属性和属性之间的差异。 查看jQuery1.6.1发行说明中的列表(在底部附近),似乎可以对HTML属性和属性进行如下分类: 属性:所有具有布尔值或UA计算得出的值,例如selectedIndex。 属性:可以添加到既不是布尔也不包含UA生成值的HTML元素中的“属性”。 有什么想法吗? 问题答案: 在编写HTML源代

  • 问题内容: 在jQuery 1.6.1中进行更改之后,我一直在尝试定义HTML中属性和属性之间的差异。 查看jQuery1.6.1发行说明中的列表(在底部附近),似乎可以对HTML属性和属性进行如下分类: 属性:所有具有布尔值或UA计算得出的值,例如selectedIndex。 属性:可以添加到既不是布尔也不包含UA生成值的HTML元素中的“属性”。 有什么想法吗? 问题答案: 在编写HTML源代

  • 问题内容: 对于“属性”和“属性”之间的区别,我通常感到困惑,并且找不到很好的资源来简洁地详细说明这些区别。 问题答案: 属性是一种特殊的属性。基本上,当Python遇到以下代码时: 它查找中,然后检查,看它是否有一个,或方法- 如果这样做,这是一个性质。如果它 是 一个属性,则不仅会返回该对象(就像对其他任何属性一样),还会调用该方法(因为我们一直在进行查找),并返回该方法返回的内容。 有关Py

  • 本文向大家介绍watch和计算属性有什么区别?相关面试题,主要包含被问及watch和计算属性有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 通俗来讲,既能用computed 实现又可以用 watch 监听来实现的功能,推荐用 computed,重点在于 computed 的缓存功能 computed计算属性是用来声明式的描述一个值依赖了其它的值,当所依赖的值或者变量改变时,计算属性也会跟着