transition与visibility的淡入淡出效果

工作中是我们经常根据条件隐藏显示某些内容,我们来看一下它的实现方法。

1. Visibility

 <div class="outer">
        <div class="cl1">Sample Text</div>
        Hover Here
    </div>
.cl1 {
    transition:visibility 3s;
    visibility:hidden;
}
.outer:hover > div
{
    visibility:visible;
}

在这里插入图片描述

  • 当鼠标悬浮时并没有动画效果,文字立马就显示出来了
  • 当鼠标移开时,3s后消失并没有动画效果

visibility 0表示“隐藏”,1表示完全“显示”,当由0到1过渡时,一旦不为0 了(例如0.0001),就会立马显示。

当由1到0过度时,经过3秒钟时间,变为0时就立马消失了,所以没有过渡效果

2. Visibility和Opacity

 <div class="outer">
        <div class="cl1">Sample Text</div>
        Hover Here
    </div>
.cl1 {
    transition:visibility 3s, opacity 3s;;
    visibility:hidden;
    opacity: 0;
}
.outer:hover > div
{
    visibility:visible;
    opacity: 1;
}

在这里插入图片描述

有人可能要问,那为什么不直接用opacity,还要加上visibility, 不是脱裤子放屁吗,这里就涉及到opacity和visibility的区别了。

opacity:0,元素隐藏起来了,不会改变页面布局, 但是可以响应事件,比如click
visibility:hidden, 元素隐藏起来. 不会改变页面布局, 不会响应事件
display:nonoe, 可以理解成在页面中把该元素删除掉一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值