功能transition不支持display属性以及displayopacityvisibility之间的区别

Posted wannananana

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了功能transition不支持display属性以及displayopacityvisibility之间的区别相关的知识,希望对你有一定的参考价值。

一、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属性以及displayopacityvisibility之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

display: none;visibility: hiddenopacity=0区别总结

过渡效果

有意思的一些属性

CSS transition 过渡 详解

origin三维柱状图绘图属性里没有display

CSS visibility与display 属性