← [ BACK_TO_NOTES ]

display none、visibility hidden 和 opacity 0

CSS 中三种常见隐藏方式在布局占位、交互和可见性上的差异。

#frontend #concept #growing

[!info] related notes

display none、visibility hidden 和 opacity 0

这三种写法都可能让元素“看不见”,但它们对布局和交互的影响完全不同。

一句话定义

  • display: none:元素直接不参与布局
  • visibility: hidden:元素还占位,但不可见
  • opacity: 0:元素可见度为 0,但本质上还在页面中

核心对比

方式是否占据布局空间是否可点击是否真正不可见
display: none否否是
visibility: hidden是否是
opacity: 0是通常是只是透明

各自的使用边界

display: none

  • 元素脱离文档流
  • 不再占据页面空间
  • 适合真正移除显示结果的场景

visibility: hidden

  • 元素仍然保留原来的布局位置
  • 通常也不会响应用户点击
  • 适合需要保留占位但暂时隐藏的场景

opacity: 0

  • 元素仍占位
  • 元素通常仍可响应鼠标事件和焦点
  • 更适合做淡入淡出动画,而不是语义上的“隐藏”

最容易误解的点

  • opacity: 0 不是“消失”,而是“完全透明”
  • 如果只想视觉隐藏并保留动画空间,opacity 往往比 display 更合适
  • 如果要彻底不占位,只有 display: none 最直接

最短记忆方式

display 管布局,visibility 管可见性,opacity 管透明度。

面试要点

来自 display none、visibility hidden 和 opacity 0 的区别 的面试视角整理。

一句话回答

display: none 会让元素不参与布局,visibility: hidden 让元素占位但不可见,opacity: 0 则只是完全透明,元素通常仍然存在并可交互。

最稳的回答主线

  • display: none:不占位,不显示
  • visibility: hidden:占位,不显示,通常也不响应交互
  • opacity: 0:占位,只是透明,很多场景下仍可点击

面试里可顺手补的一句

做淡入淡出动画时,opacity 往往更自然;要彻底从布局里移除时,才更像 display: none。

最短记忆方式

display 影响布局,visibility 影响可见性,opacity 影响透明度。

创建于 2026/3/19 更新于 2026/7/15
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本