display:none、visibility:hidden和opacity:0之间的区别
来源:互联网 发布:网络博客游戏怎么举报 编辑:程序博客网 时间:2024/06/06 11:36
一、空间占据
display:none隐藏后不占据额外空间,它会产生回流和重绘,而visibility:hidden和opacity:0元素虽然隐藏了,但它们仍然占据着空间,它们俩只会引起页面重绘。
代码:
<style>div {width: 200px;height: 200px;background: #ccc;margin-top: 10px;}.div1 {display: none;}.div2 {visibility: hidden;}.div3 {opacity: 0;}</style><body><div class="div1"><p>display:none</p></div><div class="div2"><p>visibility:visible</p></div><div class="div3"><p>opacity:0</p></div></body>
页面:
二、子元素继承
display:none不会被子元素继承,但是父元素都不在了,子元素自然也就不会显示了,皮之不存,毛之安附~~
visibility:hidden 会被子元素继承,可以通过设置子元素visibility:visible 使子元素显示出来
opacity: 0 也会被子元素继承,但是不能通过设置子元素opacity: 0使其重新显示
代码:
<style> .div1 p { display: block; } .div2 p { visibility: visible; } .div3 p { opacity: 1; }</style>
页面效果:
三、事件绑定
display:none 的元素都已经不再页面存在了,因此肯定也无法触发它上面绑定的事件;
visibility:hidden 元素上绑定的事件也无法触发;
opacity: 0元素上面绑定的事件是可以触发的。
(这个就不太好在图上看了,可以自己测试一下)
四、过渡动画
transition对于display肯定是无效的,大家应该都知道;
transition对于visibility也是无效的;
transition对于opacity是有效,大家也是知道的:).
阅读全文
0 0
- display:none、visibility:hidden和opacity:0之间的区别
- ccs中display:none visibility:hidden opacity:0的区别
- CSS:opacity:0,visibility:hidden,display:none的区别
- display: none;、visibility: hidden、opacity=0区别总结
- display:none和visibility:hidden的区别
- display:none和visibility:hidden的区别
- display:none 和visibility:hidden的区别
- visibility:hidden和display:none的区别
- visibility:hidden和display:none的区别
- display:none和visibility:hidden的区别
- display:none和visibility:hidden的区别?
- display:none和visibility:hidden的区别
- visibility:hidden和display:none的区别
- display:none和visibility:hidden的区别
- display:none和visibility:hidden的区别
- display:none和visibility:hidden的区别
- display:none和visibility:hidden的区别
- display:none和visibility:hidden的区别
- 9月10日周日训练笔记
- 继承与多态
- 最长非递减子序列模板
- 移动端车牌识别嵌入至手机app中
- 赛码网编程练习题_1
- display:none、visibility:hidden和opacity:0之间的区别
- Kafka Replication & Leader election
- 多表查询
- JavaBean技术
- Spark on YARN 笔记
- Allegro中设置自定义外形的焊盘
- vi -t tag的配置过程
- HDU3709 Balanced Number
- java并发编程-同步类容器-ArrayBlockingQueue