码迷,mamicode.com
首页 > 其他好文 > 详细

【功能】transition不支持display属性以及display、opacity、visibility之间的区别

时间:2020-03-11 11:07:12      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:target   blog   性能   属性   pac   color   设置   hidden   display   

一、transition过渡不支持display属性

css3过渡transition不支持display属性,我们可以使用opacity或者visibility属性进行替换。相关的案例可以查看上一篇博文:【功能】关于页面加载进度条百分比实现的伪方法

 

二、display、opacity、visibility之间的关系

共同点:都让元素不可见

区别:

1、结构
display:none 从渲染树中消失,不占据空间,不能点击
visibility:hidden 从渲染树消失,占据空间,不能点击
opacity:0 从渲染树消失,占据空间,可以点击

2、继承
display:none和opacity:0 非继承属性,修改子孙节点属也无法显示
visibility:hidden 是继承属性,子孙节点由于继承了visibility:hidden才不显示,通过设置visibility:visible可以让子孙节点显示出来。

3、性能
display:none 引起页面重排 性能消耗大
visibility:hidden 只造成本元素的重绘,性能消耗较少
opacity:0 只造成本元素重绘,性能消耗较少

 

【参考文章】

分析比较opacity、visibility、display优劣和适用场景

 

 

【功能】transition不支持display属性以及display、opacity、visibility之间的区别

标签:target   blog   性能   属性   pac   color   设置   hidden   display   

原文地址:https://www.cnblogs.com/wannananana/p/12460712.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!