这是一款纯CSS3超酷边框线条动画特效。该特效中,使用html span元素作为边框线条,并通过CSS使其完美的运动起来,非常炫酷。
使用方法
HTML代码
<a href="#" target="_blank"> <section> <div class="container"> <div class="background-img"> <div class="box"> <span></span> <span></span> <span></span> <span></span> <div class="content"> <h2>My animated Border </h2> <p><a>All our modules are designed to play nicely with responsive of course. At the end of the day it comes down to the theme you use - our code doesn't get in your way.</a></p> </div> </div> </div> </div> </section> </a>
CSS代码
* { margin: 0; padding: 0; } .container { padding-top: 20px; padding-bottom: 20px; color: white; } body { background-color: #111845; } .background-img { background-image: url("../img/among_trees_night.jpg"); height: 400px; width: 800px; background-repeat: no-repeat; background-size: cover; margin: 5% auto; padding: 20px; border: 1px solid #2a3cad; border-radius: 4px; box-shadow: 0px 0px 5px #2a3cad; position: relative; } .content h2 { font-size: 19px; color: white; } .box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 300px; height: 300px; background: #111845a6; box-sizing: border-box; overflow: hidden; box-shadow: 0 20px 50px rgb(23, 32, 90); border: 2px solid #2a3cad; color: white; padding: 20px; } .box:before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.1); transition: 0.5s; pointer-events: none; } .box:hover:before { left: -50%; transform: skewX(-5deg); } .box .content { position: absolute; top: 15px; left: 15px; right: 15px; bottom: 15px; border: 1px solid #f0a591; padding: 20px; text-align: center; box-shadow: 0 5px 10px rgba(9, 0, 0, 0.5); color: white; } .box .content a { color: white; } .box span { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; box-sizing: border-box; } .box span:nth-child(1) { transform: rotate(0deg); } .box span:nth-child(2) { transform: rotate(90deg); } .box span:nth-child(3) { transform: rotate(180deg); } .box span:nth-child(4) { transform: rotate(270deg); } .box span:before { content: ''; position: absolute; width: 100%; height: 2px; background: #50dfdb; animation: animate 4s linear infinite; } @keyframes animate { 0% { transform: scaleX(0); transform-origin: left; } 50% { transform: scaleX(1); transform-origin: left; } 50.1% { transform: scaleX(1); transform-origin: right; } 100% { transform: scaleX(0); transform-origin: right; } }
codepen网址:https://codepen.io/uiswarup/pen/RBByzW