css transform 会影响position 定位

比如通过以下代码.实现导航条上的每个li栏目,以不同的时间间隔,从上向下移动进来并显示

.my-navbar ul li {
	position: relative;
	opacity: 0;
	transform: translateY(-30px);
	transition: transform .6s cubic-bezier(.165,.84,.44,1),opacity .6s cubic-bezier(.165,.84,.44,1);
will-change: transform,opacity
}
.my-navbar ul li:nth-of-type(1) {
	transition-delay: 525ms
}
.my-navbar ul li:nth-of-type(2) {
	transition-delay: 550ms
}
.my-navbar ul li:nth-of-type(3) {
	transition-delay: 575ms
}
.my-navbar ul li:nth-of-type(4) {
	transition-delay: .6s
}
.loaded .my-navbar ul li {
	opacity: 1;
	transform: translateY(0)
}

但是,如果my-navbar ul li 这个

  • 标签里面还有子元素.并且这个子元素是需要进行绝对定位之类的,则会失效.比如以下代码的位置会失效
  • .my-navbar ul  li .menu {
        top: 570px;
        position: absolute;
        left: 0px;
        width: 1143px;
       
    }
    

    解决办法是.动画操作的对象不应该是包含子元素的li,可以是li下面的a这个子元素.比如这样就行了

    
    .my-navbar ul li a{
    	opacity: 0;
    	transform: translateY(-30px);
    	transition: transform .6s cubic-bezier(.165,.84,.44,1),opacity .6s cubic-bezier(.165,.84,.44,1);
    	will-change: transform,opacity
    }
    .my-navbar ul li:nth-of-type(1)  a {
    	transition-delay: 525ms
    }
    .my-navbar ul li:nth-of-type(2)  a{
    	transition-delay: 550ms
    }
    .my-navbar ul li:nth-of-type(3) a {
    	transition-delay: 575ms
    }
    .my-navbar ul li:nth-of-type(4) a {
    	transition-delay: .6s
    }
    .loaded .my-navbar ul li a {
    	opacity: 1;
    	transform: translateY(0)
    }
    

    如下图,li下面还有menu这个子元素.所以.动画修改到a上.
    在这里插入图片描述

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值