📅  最后修改于: 2023-12-03 15:27:41.911000             🧑  作者: Mango
在网页设计中,动画效果可以为网站增色不少,同时也可以吸引用户的注意力。而背景图像动画则可以让网页再次锦上添花。Codepen是一个流行的社区化开发平台,很多程序员都在上面为自己的作品分享心得和代码。在这里,我们将介绍一些优秀的背景图像动画CSS Codepen示例。
这个动画使用的是CSS3的transition属性,通过将背景图像的透明度从1变化到0,然后再用关键帧动画让背景图像重新变成1。这样就可以实现一个平滑的透明度变化,增加网页的美观度。
```css
body {
background: url('图片地址'); /* 背景图像地址 */
background-repeat: no-repeat;
background-size: cover;
transition: background 0.5s ease-in-out; /* 平滑的转换动画效果 */
}
body:hover {
background: rgba(0,0,0,0.4) url('图片地址'); /* 改变透明度 */
background-repeat: no-repeat;
background-size: cover;
animation: pulse 5s infinite; /* 重复循环动画 */
}
@keyframes pulse {
0% {
background-size: 100%;
}
100% {
background-size: 110%;
}
}
## 2. 背景图像平移动画
这个动画使用了CSS3的animation属性,并将背景图像设置在不同的层面,通过调整z-index来实现平移的效果。这个动画简单易懂,可用于设计动画风格轻松的网页。
```markdown
```css
body {
background: url('图片地址');
background-repeat: no-repeat;
background-size: cover;
position: relative;
}
.bg1 {
background: url('图片地址');
background-repeat: no-repeat;
background-size: 40%;
position: absolute;
top:0;
left: 0;
right: 0;
bottom: 0;
margin:auto;
z-index: 1;
animation: bg1 20s linear infinite; /* 重复循环动画 */
}
.bg2 {
background: url('图片地址');
background-repeat: no-repeat;
background-size: 40%;
position: absolute;
top:0;
left: 0;
right: 0;
bottom: 0;
margin:auto;
z-index: 2;
animation: bg2 20s linear infinite; /* 重复循环动画 */
}
.bg3 {
background: url('图片地址');
background-repeat: no-repeat;
background-size: 40%;
position: absolute;
top:0;
left: 0;
right: 0;
bottom: 0;
margin:auto;
z-index: 3;
animation: bg3 20s linear infinite alternate; /* 重复循环动画 */
}
@keyframes bg1 {
0% {
transform: translate3d(-40%, 0, 0);
}
100% {
transform: translate3d(0, 0, 0);
}
}
@keyframes bg2 {
0% {
transform: translate3d(-20%, 0, 0);
}
100% {
transform: translate3d(0, 0, 0);
}
}
@keyframes bg3 {
0% {
transform: translate3d(-10%, 0, 0);
}
100% {
transform: translate3d(0, 0, 0);
}
}
## 3. 背景图像缩放动画
这个动画同样使用CSS3的animation属性,通过让背景图像按比例缩放来实现动画效果。这个动画效果简单易懂,适用于平易近人的网页设计。
```markdown
```css
body {
background: url('图片地址');
background-repeat: no-repeat;
background-size: cover;
position: relative;
}
.bg1 {
background: url('图片地址');
background-repeat: no-repeat;
background-size: 30%;
position: absolute;
top:0;
left: 0;
right: 0;
bottom: 0;
margin:auto;
z-index: 1;
animation: bg1 20s linear infinite; /* 重复循环动画 */
}
.bg2 {
background: url('图片地址');
background-repeat: no-repeat;
background-size: 30%;
position: absolute;
top:0;
left: 0;
right: 0;
bottom: 0;
margin:auto;
z-index: 2;
animation: bg2 20s linear infinite; /* 重复循环动画 */
}
.bg3 {
background: url('图片地址');
background-repeat: no-repeat;
background-size: 30%;
position: absolute;
top:0;
left: 0;
right: 0;
bottom: 0;
margin:auto;
z-index: 3;
animation: bg3 20s linear infinite alternate; /* 重复循环动画 */
}
@keyframes bg1 {
0% {
background-size: 30%;
}
50% {
background-size: 35%;
}
100% {
background-size: 30%;
}
}
@keyframes bg2 {
0% {
background-size: 30%;
}
50% {
background-size: 40%;
}
100% {
background-size: 30%;
}
}
@keyframes bg3 {
0% {
background-size: 30%;
}
50% {
background-size: 45%;
}
100% {
background-size: 30%;
}
}
以上三个背景图像动画示例均可以在CSS Codepen上找到。通过这些代码示例,你可以更深入地了解动画设计和实现,在自己的网页设计中实现动画效果的同时,还能增加优美的视觉体验。