隐藏(属性) | hidden (attribute)

hidden (attribute)

全局属性hidden是一个布尔属性,表示一个元素尚未或者不再相关。例如,它可以被用来隐藏一个页面元素直到登录完毕。如果一个元素设置了这个属性,它就不会被显示。

hidden属性不能用于隐藏那些可以在其它板块中合理显示的内容。 例如,用hidden属性去隐藏一个选项卡对话框种的面板是不正确的,因为选项卡界面只不过是溢出显示的一种——一个可以等量于一个只显示所有form表单控件的拥有滚动条的大页面。类似地,用hidden属性在某个特定板块中隐藏一部分内容也是不正确的,——如果某些内容被标记为隐藏,它将从所有版块中隐藏,包括例如屏幕阅读器.

隐藏元素不应该从非隐藏元素链接,隐藏元素的后代元素仍然是活动的,这意味着脚本元素仍然可以执行,表单元素仍然可以提交。元素和脚本可能会引用隐藏在其他上下文中的元素。

例如,使用href属性链接到用hidden属性标记的部分是不正确的。如果内容不适用或不相关,那么没有理由链接到它。

然而,使用ARIA aria-describedby属性来引用本身是隐藏的描述是很好的。虽然隐藏描述意味着它们本身没有用处,但它们可以写成这样一种方式,也就是说它们在被描述的元素引用的特定上下文中是有用的。

类似地,具有该hidden属性的画布元素可以被脚本化的图形引擎用作离屏缓冲器,并且表单控件可以使用其表单属性来引用隐藏的表单元素。

注:使用display属性更改元素的CSS hidden属性值将覆盖该行为。例如,display: flex不管hidden属性是否存在,都将显示样式元素。

规范

规范状态评论
HTML生活标准该规范中'隐藏'的定义。生活水平最新的快照,HTML 5.1没有变化
HTML生活标准该规范中“隐藏元素”的定义。生活水平使用CSS定义建议的隐藏属性默认呈现
HTML 5.1该规范中'hidden'的定义。建议HTML Living Standard的快照,最初的定义

浏览器兼容性

FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support(Yes)4.0 (2)11(Yes)(Yes)

FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support4(Yes)4.0 (2)11(Yes)(Yes)