----------------------------------------------------------效果展示-----------------------------------------------------------
1.思路:
通过flex弹性布局修改子元素在父元素内的分布情况,因为有元素的部分内容不在父元素之内,除了添加active类的方式控制交互,还需要对添加类的元素进行检查,当检查为最后一个元素的时候控制盒子进行移动(考虑到这点需要在三个子元素之上再添加一个父元素,通过这个父元素来控制他们在盒子内的位移)。
2.代码段:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box1{
width:400px;
height:320px;
margin:80px auto;
background-color: #5f5e5e;
border-radius: 20px;
overflow:hidden ;
}
.box1-next{
width:500px;
display: flex;
flex-direction: row;
flex-wrap:nowrap;
justify-content: space-around;
margin-top:120px;
transition: all 1s;/*控制左右移动动画*/
}
.box2{
border-radius: 10px;
width: 130px;
height:170px;
background-color: #ff6262;
transition: all 1s;/*控制回落动画*/
}
.box1-next .active{
transform: translateY(-100px);
transition: all 1s;/*控制上升动画*/
}
</style>
</head>
<body>
<div class="box1">
<div class="box1-next">
<div class="box2 active"></div>
<div class="box2 "></div>
<div class="box2 "></div>
</div>
</div>
<script>
let box1 = document.querySelector('.box1')
let box2 = document.querySelectorAll('.box2')
le