[TOC]
## display: none;与visibility: hidden;的区别
### 相同点:它们都能让元素不可见
### 区别:
1. display:none;会让元素完全从渲染树中消失,渲染的时候**不占据任何空间**;
visibility: hidden;不会让元素从渲染树消失,渲染师元素继续**占据空间,只是内容不可见**
2. display: none;是**非继承**属性,子孙节点消失由于元素从渲染树消失造成,通过修改子孙节点属性无法显示;
visibility: hidden;是**继承属性**,子孙节点消失由于继承了hidden,通过设置visibility: visible;可以让子孙节点显示
~~~
<div class="border">
<div class="display">
<p>display</p>
</div>
<div class="visibility">
<p>visibility</p>
</div>
</div>
<style>
.display {
display: none;
width: 100px;
height: 100px;
background: palevioletred;
}
.visibility {
visibility: hidden;
width: 100px;
height: 100px;
background: darkslateblue;
}
.visibility>p{
visibility: visible;
}
.border{
border: 3px solid #ccc;
}
</style>
~~~
(修改常规流中元素的display通常会造成文档重排。修改visibility属性只会造成本元素的重绘。)
(读屏器不会读取display: none;元素内容;会读取visibility: hidden;元素内容)
- 面试题
- 自我介绍
- 问答
- HTML
- 1.@import与link的区别
- CSS
- 1.display: none; 与visibiliy: hidden; 的区别
- 三角形
- margin-top
- 移动端适配问题
- JavaScript
- JavaScript原型和原型链
- 什么是promise
- call、apply、bind区别
- 用函数将字符串转化为驼峰命名
- 数组操作
- 1.筛选
- 2.排序
- 3.反转
- 4.去重
- 字符串方法
- 5.二叉树
- 6.克隆数组
- 重载
- (待完善)JavaScript事件
- dom事件流
- 四则运算符
- cookie,LocalStorage,sessionStorage
- 浅拷贝和深拷贝
- 对象
- 浏览器
- web性能优化
- 定时器
- 回调地狱
- 遍历的几种方式
- this指向
- HTTP
- 输入ur发生了什么
- ajax
- 跨域
- jquery跨域
- axios
- vue
- (待完善)缓存
- bootstarp
- es6
- 01解构赋值
- (未完成)class
