📅  最后修改于: 2023-12-03 14:58:47.538000             🧑  作者: Mango
在前端开发中,我们经常会为页面添加各种效果。其中之一就是容器背景颤动渐变效果。这种效果往往需要使用CSS3动画和媒体查询来实现,但其实也不难掌握。
首先,我们需要创建一个div容器作为背景,并将它放置在要添加效果的元素的前面。
<div class="container"></div>
<div class="content">
<!-- 其他内容 -->
</div>
接下来,我们需要添加CSS样式来实现颤动渐变效果。具体步骤如下:
.container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.container {
background: linear-gradient(-45deg,
hsla(0, 0%, 100%, .2),
hsla(0, 0%, 100%, 0) 70.71%),
linear-gradient(45deg,
hsla(0, 0%, 0%, .2),
hsla(0, 0%, 0%, 0) 70.71%);
}
其中,linear-gradient
用于设置容器的渐变效果,可以设置渐变的角度和颜色值。
.container {
animation: shake 2s ease-in-out infinite;
}
@keyframes shake {
0% { transform: rotate(0deg) translate3d(0, 0, 0); }
10% { transform: rotate(5deg) translate3d(-2px, 0, 0); }
20% { transform: rotate(-5deg) translate3d(2px, 0, 0); }
30% { transform: rotate(5deg) translate3d(-2px, 0, 0); }
40% { transform: rotate(-5deg) translate3d(2px, 0, 0); }
50% { transform: rotate(0deg) translate3d(0, 0, 0); }
100% { transform: rotate(0deg) translate3d(0, 0, 0); }
}
关键帧动画用于实现容器的颤动效果,可以设置多个关键帧来控制动画的效果。在本例中,我们设置了6个关键帧,分别为0%、10%、20%、30%、40%、50%和100%。每个关键帧设置不同的transform属性来实现颤动效果。
@media only screen and (max-width: 768px) {
.container {
display: none;
}
}
通过以上步骤,我们就可以实现一个容器背景的颤动渐变效果。需要注意的是,实现这一效果需要一定的CSS3和媒体查询的基础,但掌握之后可以为页面添加更炫酷的效果,加强用户体验。