CSS3 实现动画闪烁效果 animation

3,813 阅读1分钟

CSS animation 文档

CSS animation 属性

效果图

效果图

介绍

animation 属性是一个简写属性,用于设置六个动画属性:

  • animation-name
  • animation-duration
  • animation-timing-function
  • animation-delay
  • animation-iteration-count
  • animation-direction

语法

animation: name duration timing-function delay iteration-count direction;

源码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>animation</title>
</head>
<style>
  .point {
    width: 50px;
    height: 50px;
    background-color: #2ea598;
    position: relative;
    border-radius: 50%;
  }
 
  /* 设置动画前颜色 */
  .point-flicker:after {
    background-color: #2ea598;
  }
 
  /* 设置动画后颜色 */
  .point-flicker:before {
    background-color: rgba(0, 168, 253, 0.2);
  }
 
  /* 设置动画 */
  .point-flicker:before,
  .point-flicker:after {
    content: '';
    width: 80px;
    height: 80px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -40px;
    margin-top: -40px;
    border-radius: 50%;
    animation: warn 1.5s ease-out 0s infinite;
  }
 
  @keyframes warn {
    0% {
      transform: scale(0.5);
      opacity: 1;
    }
 
    30% {
      opacity: 1;
    }
 
    100% {
      transform: scale(1.4);
      opacity: 0;
    }
  }
</style>
 
<body>
  <div class="point point-flicker"></div>
</body>
<script>
</script> 
</html>

补充

如需修改在页面中的位置

.point 设为 position:absoulute ,修改其left , top 位置即可

.point-flicker 是相对 .point 来定位的

修改大小时要将它的margin-left: -40px; margin-top: -40px;改为对应大小的一半