📜  背景图像动画 css codepen - CSS (1)

📅  最后修改于: 2023-12-03 15:27:41.911000             🧑  作者: Mango

背景图像动画 CSS Codepen介绍

在网页设计中,动画效果可以为网站增色不少,同时也可以吸引用户的注意力。而背景图像动画则可以让网页再次锦上添花。Codepen是一个流行的社区化开发平台,很多程序员都在上面为自己的作品分享心得和代码。在这里,我们将介绍一些优秀的背景图像动画CSS Codepen示例。

1. 背景图像透明度动画

这个动画使用的是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上找到。通过这些代码示例,你可以更深入地了解动画设计和实现,在自己的网页设计中实现动画效果的同时,还能增加优美的视觉体验。