HTML5 的全局属性 hidden 和 display:none 的关系

目录

1,hidden 和 display:none 的关系

hidden - MDN 参考

一句话总结:hidden 是HTML5 新增的全局布尔属性 ,可以隐藏页面元素,表现和 display: none 一致。

所以设置元素显隐时,之前的写法

html 复制代码
<template>
  <div :class="['item', { hide: hide }]">求关注</div>
</template>

<style lang="less">
.item {
  /* 其他 css */
  &.hide {
    display: none;
  }
}
</style>

更改后的写法:

html 复制代码
<template>
  <div class="item" :hidden="hide">求关注</div>
</template>

<style lang="less">
.item {
  /* 其他 css */
}
</style>

需要注意一点,display 的其他属性值会覆盖 hidden

2,其他隐藏元素的方式

2.1,语意上的隐藏

设置 aria-hidden: true 可使读屏软件不可读,但是元素仍然占据空间并且可见。

html 复制代码
<div aria-hidden="true"></div>

2.2,视觉上的隐藏

display: none 是完全隐藏,元素从渲染树中消失,不占据空间。

opacity: 0 或设置元素的leftmargin-left 为很大的负数,实现的都是屏幕中不可见,但占据空间。


以上。

相关推荐
小彭努力中1 小时前
191.Vue3 + OpenLayers 实战:可控化版权信息(Attribution)详解与完整示例
前端·javascript·vue.js·#地图开发·#cesium
奇舞精选1 小时前
用去年 github 最火的 n8n 快速实现自动化推送工具
前端·agent
奇舞精选1 小时前
实践:如何为智能体推理引入外部决策步骤
前端·agent
无限大61 小时前
AI实战02:一个万能提示词模板,搞定90%的文案/设计/分析需求
前端·后端
朝阳5812 小时前
控制 Nuxt 页面的渲染模式:客户端 vs 服务端渲染
前端·javascript
发现一只大呆瓜2 小时前
Vue-Vue2与Vue3核心差异与进化
前端·vue.js·面试
sunny_2 小时前
熬夜通宵读完 VitePlus 全部源码,我后悔没早点看
前端·前端框架·前端工程化
发现一只大呆瓜2 小时前
Vue2:数组/对象操作避坑大全
前端·vue.js·面试
发现一只大呆瓜2 小时前
Vue3:ref 与 reactive 超全对比
前端·vue.js·面试
lzksword2 小时前
C++ Builder XE OpenDialog1打开多文件并显示xls与xlsx二种格式文件
java·前端·c++