最佳答案
HTML5有一个新的全局属性 hidden
,可用于隐藏内容。
<article hidden>
<h2>Article #1</h2>
<p>Lorem ipsum ...</p>
</article>
CSS 有 display:none
规则,它也可以用来隐藏内容。
article { display:none; }
在视觉上,它们是相同的。在语义上有什么区别? 在计算上有什么区别?
我应该考虑什么样的指导方针,当使用其中之一或其他?
TIA.
编辑 : 根据@newtron 的回复(如下) ,我做了更多的搜索。去年,hidden
属性引起了激烈的争论,而且(显然)几乎没有进入 HTML5规范。一些人认为这是多余的,没有任何意义。据我所知,最终的评估是这样的: 如果我只瞄准网页浏览器,那么没有区别。(有一个页面甚至断言网页浏览器使用 display:none
来实现隐藏属性。)但是如果我考虑到可访问性(例如,也许我希望我的内容能被屏幕阅读器阅读) ,那么就有区别了。CSS 规则 display:none
可能会在浏览器中隐藏我的内容,但是相应的 aria 规则(例如 aria-hidden="false"
)可能会尝试读取它。因此,我现在同意@newtron 的答案是正确的,尽管也许(可以说)没有我希望的那么清楚。谢谢@newtron 的帮助。