我使用 AOS.js 在 NUXT 中滚动动画。AOS 在移动设备上启动了动画,但是 v-中的一些块以 0 不透明度加载并进行了转换。此块具有自定义 css 悬停和过渡。
我尝试对aos使用包装器并只为他设置动画,但它不起作用。不知道为什么,但只有这个块在移动设备上获取 data-aos="fade-down"
<div class="card-wrapper">
<div
v-for="(card, index) in cards"
:key="index"
class="card"
:style="card.style"
data-aos="fade-down"
:data-aos-delay="index * 100"
data-aos-once="true"
data-aos-offset="-200"
>
<div class="card-img-wrapper">
<img :src="card.img" :alt="card.name" class="card-img" />
</div>
<h4 class="text-center text-white card-name">{{ card.name }} . </h4>
</div>
</div>
我的 scss 样式
.card {
overflow: hidden;
padding-top: 20px;
padding-bottom: 20px;
&-wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
margin-top: 40px;
}
&-img-wrapper {
&:before {
content: '';
width: 100px;
height: 100px;
border-radius: 100%;
background: white;
display: block;
position: absolute;
left: calc(50% - 50px);
top: calc(50% - 90px);
transition: 0.4s ease-out;
}
}
&-name {
margin-top: 70px;
}
&-img {
display: flex;
margin: auto;
width: 62px;
height: 62px;
transition: 0.6s ease;
transform: translateZ(100px);
margin-top: 20px;
}
&:hover {
cursor: pointer;
& .card-img {
transform: scale(1.2);
}
& .card-img-wrapper:before {
transform: scale(20);
transition: 0.4s ease-in;
}
& .card-name {
color: black;
transform: translateZ(100px);
transition: 0.4s ease-in;
}
}
}
我不想在移动设备上不透明和变换