visibility属性用于控制元素可见性但不改变布局,常用值有visible、hidden和collapse;hidden使元素不可见但仍占空间,而display: none则完全移除元素且不占空间,适用于需重新布局的场景。

在CSS中,visibility 属性用于控制元素的可见性,它决定了元素是否显示,但不会影响页面布局。即使元素不可见,它仍然占据原来的空间。
visibility 的常用取值
visibility 支持以下几个主要值:
- visible:元素正常显示(默认值)。
- hidden:元素不可见,但仍占据文档中的空间。
- collapse:主要用于表格行、列或单元格,表示折叠元素。在非表格元素上表现通常等同于 hidden。
示例:
.element-show {
visibility: visible;
}
.element-hide {
visibility: hidden;
}
与 display: none 的区别
visibility: hidden 和 display: none 都能让元素不可见,但行为不同:
立即学习“前端免费学习笔记(深入)”;
- 使用 visibility: hidden 时,元素隐藏但保留其在页面中的位置,周围元素不会重新排列。
- 使用 display: none 时,元素完全从渲染树中移除,不占空间,页面会重新布局。
如果你希望隐藏元素的同时让其他内容“填补空缺”,应使用 display: none;如果只想暂时看不见但保持布局结构,用 visibility: hidden 更合适。
实际应用场景
常见用途包括:
- 切换提示框或下拉菜单的显示状态而不影响布局。
- 制作动画过程中控制元素显隐,避免布局跳动。
- 配合 JavaScript 动态控制某些元素是否可见,比如表单项的条件显示。
基本上就这些。visibility 是一个轻量级的显隐控制方式,适合需要保留布局空间的场景。不复杂但容易忽略细节。










