文章导航

CSS3边框动态环绕效果

2018-3-23 09:44| 作者: admin| 查看: 1659| 评论: 0|来自: 蚂蚁部落

分享一段代码实例,它利用CSS3实现了边框旋转动画效果。

采用动画效果设置元素的width和height属性值,在视觉上模拟实现此效果。

代码实例如下:

[HTML] 纯文本查看 复制代码运行代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style>
.myDiv {
  width: 300px;
  height: 200px;
  border: 1px solid rgba(100,0,0,0.2);
  margin: 50px;
  position: relative;
}
.topLine {
  width: 0px;
  height: 1px;
  background: black;
  position: absolute;
  left: 0;
  top: -1px;
  animation: flash 2s infinite linear;
}
.bottomLine {
  width: 0px;
  height: 1px;
  background: black;
  position: absolute;
  right: 0px;
  bottom: -1px;
  animation: flash 2s infinite linear;
}
.leftLine {
  width: 1px;
  height: 0px;
  background: black;
  position: absolute;
  left: -1px;
  bottom: -1px;
  animation: flash1 2s infinite linear;
}
.rightLine {
  width: 1px;
  height: 0px;
  background: black;
  position: absolute;
  right: -1px;
  top: -1px;
  animation: flash1 2s infinite linear;
}
@keyframes flash {
  0% {
    width: 0;
  }
  100% {
    width: 300px;
  }
}
@keyframes flash1 {
  0% {
    height: 0;
  }
  100% {
    height: 200px;
  }
}
</style>
</head>
<body>
  <div class="myDiv">
    <div class="topLine"></div>
    <div class="rightLine"></div>
    <div class="bottomLine"></div>
    <div class="leftLine"></div>
  </div>
</body>
</html>

上面代码实现了预期效果,下面介绍一下它的实现过程。

一.代码注释:

[CSS] 纯文本查看 复制代码
.myDiv {
  width: 300px;
  height: 200px;
  border: 1px solid rgba(100,0,0,0.2);
  margin: 50px;
  position: relative;
}

设置div元素宽度和高度分别为300px和200px。

设置边框颜色透明度为0.2。

采用相对定位,这点很很重要,它的定位子元素将以它为位移参考对象。

[CSS] 纯文本查看 复制代码
.topLine {
  width: 0px;
  height: 1px;
  background: black;
  position: absolute;
  left: 0;
  top: -1px;
  animation: flash 2s infinite linear;
}

模拟顶部边框效果。

初始,边框的默认宽度为0,高度为1px。

通过绝对定位将其定位于父div元素的左上部;top:-1px是为了将其与父div元素边框重合。

animation: flash 2s infinite linear通过动画效果设置边框的宽度。

[CSS] 纯文本查看 复制代码
@keyframes flash {
  0% {
    width: 0;
  }
  100% {
    width: 300px;
  }
}

通过动画帧设置边框的动画效果。

二.相关阅读:

(1).rgba参阅CSS 颜色表示法一章节。

(2).相对定位参阅CSS position:relative 相对定位一章节。

(3).绝对定位参阅CSS position:absolute 绝对定位一章节。

(4).animation参阅CSS3 animation一章节。

(5).@keyframes参阅CSS3 @keyframes一章节。


鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部