CSS实现Logo扫光效果

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

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

HTML 结构

logo扫光效果的HTML结构如下

/**
* logo扫光效果HTML 基本结构
*
* @author 智慧宫
* @link   https://www.hanost.com
*/
<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://www.hanost.com
*/
.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的大小和布局进行调整即可。具体效果如下:

如果您觉得有用就请点赞和分享
版权声明: 本文由 智慧宫 整理发表,转载请注明出处

发表评论

    1. Oconner 回复

      互相学习

  1. sky 回复

    在flash没落的时候这种效果还是不错的

    1. Lerm 回复

      看起来稍微好一点。

    1. Lerm 回复

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