CSS实现Logo扫光效果

浏览网页的时候看到很多博客logo都有扫光效果,非常漂亮,于是就踏着大神的步伐一步步实现logo扫光效果,记录如下。Logo扫光效果思路非常简单,如下

  1. 用CSS3伪元素:bfore:after添加一扫光层;
  2. 现用transform:rotate(-45deg)旋转45度;
  3. CSS控制位置和动画时间等。

HTML 结构

logo扫光效果的HTML结构如下

/**
* logo扫光效果HTML 基本结构
*
* @author 智慧宫
* @link   https://lerm.net
*/
<div class="site-logo">
  <a  href="http://youtsite.com" rel="home" itemprop="url">
   <img src="http://youtsite.com/logo.png" alt="logo" itemprop="logo" width="150" height="50">
  </a>
</div>

CSS 3 动画代码

/**
* logo扫光效果CSS代码
*
* @author 智慧宫
* @link   https://lerm.net
*/
.site-logo{
  position: relative;
  overflow: hidden;
}
.site-logo:before {
    content: "";
    position: absolute;
    width: 150px;
    height: 10px;
    background-color: rgba(255, 255, 255, 0.5);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: blink 1s ease-in 1s infinite;
    animation: blink 1s ease-in 1s infinite;
}
@-webkit-keyframes blink {
    from {left: 10px;top: 0;}
    to {left: 320px;top: 0;}
}
@-o-keyframes blink {
    from {left: 10px;top: 0;}
    to {left: 320px;top: 0;}
}
@-moz-keyframes blink {
    from {left: 10px;top: 0;}
    to {left: 320px;top: 0;}
}
@keyframes blink {
    from {left: -100px;top: 0;}
    to {left: 320px;top: 0;}
}

动画使用方法参考:W3school

效果演示

@keyframes 规则可以控制扫光动画的起始位置和终止位置,以上的参数根据自己的logo的大小和布局进行调整即可。具体效果如下:

Leave a Reply

VisitorWelcome

13 comments on “CSS实现Logo扫光效果”

    • 知更鸟主题自带就有这个效果,看起来挺不错的,网上搜了一下就搞了一个