HTML5有一个新的全局属性hidden
,可以用来隐藏内容。
<article hidden>
<h2>Article #1</h2>
<p>Lorem ipsum ...</p>
</article>
CSS有display:none
规则,它也可以用来隐藏内容。
article { display:none; }
视觉上它们是一样的。在语义和计算方面有什么区别?我应该考虑何时使用其中之一的指南是什么?谢谢。根据@newtron的回答(如下所示),我进行了更多搜索。去年,hidden
属性备受争议,并且(显然)几乎没有被纳入HTML5规范中。有些人认为它是多余的,并且没有意义。从我所了解的情况来看,最终的评估是这样的:如果我只针对Web浏览器,则没有区别。(甚至有一个页面声称Web浏览器使用display:none
来实现隐藏属性。)但是,如果我考虑到可访问性(例如,也许我希望屏幕阅读器读取我的内容),那么就会有区别。CSS规则display:none
可能会将我的内容从Web浏览器中隐藏,但是相应的aria规则(例如,aria-hidden="false"
)可能会尝试读取它。因此,我现在同意@newtron的答案是正确的,尽管可以说不太清楚。谢谢@newtron的帮助。