如何通过css样式来实现网站logo发光动画效果

html-css029

如何通过css样式来实现网站logo发光动画效果,第1张

添加修改CSS代码如下 :

.logo-site,.logo-sites{position:relativefloat:leftmargin:18px 0 0 10pxwidth:220pxmax-height:50pxoverflow:hiddentransition-duration:.5s}

.logo-site img,.logo-sites img{width:220pxmax-height:50px}@media screen and (max-width:480px){

.logo-site,.logo-sites{width:140px}}@media screen and (min-width:900px){

.logo-site:before{content:""position:absoluteleft:-665pxtop:-460pxwidth:220pxheight:15pxbackground-color:rgba(255,255,255,.5)-webkit-transform:rotate(-45deg)-moz-transform:rotate(-45deg)-ms-transform:rotate(-45deg)-o-transform:rotate(-45deg)transform:rotate(-45deg)-webkit-animation:searchLights 1s ease-in 1s infinite-o-animation:searchLights 1s ease-in 1s infiniteanimation:searchLights 1s ease-in 1s infinite}}@-webkit-keyframes searchLights{0%{left:-100pxtop:0}to{left:120pxtop:100px}}@-o-keyframes searchLights{0%{left:-100pxtop:0}to{left:120pxtop:100px}}@-moz-keyframes searchLights{0%{left:-100pxtop:0}to{left:120pxtop:100px}}@keyframes searchLights{0%{left:-100pxtop:0}to{left:120pxtop:100px}}

.site-title{font-size:24pxfont-size:2.4remfont-weight:700padding:0 0 2px 0}

.site-name{display:none}@media screen and (min-width:900px){

.logo-site img,.logo-sites img{transition-duration:.8s}

操作流程

把css代码当中的logo-site改成你网站包围logo的css即可(f12键审核元素,即可找到你的logo的css元素)。找到你logo的css名称然后把上面的css代码修改成你的css名称,放入css代码当中即可(防止出错,记得备份!)

以上就是logo添加css扫光效果的方法,当然你也可以运用到其他的地方。

注意,有些模板CSS代码不相同,不能贸然的使用,可能会出现错误,新手不要尝试。

效果解析

我们分析一下实现这个效果需要实现的功能:

实现一个扫光背景块,因为光是移动的,所以要加入渐变效果 (例如: 手电筒照射的一小块区域)

将扫光背景块控制到文本上 (即实现文本背景)

实现扫光动画 (扫光块从左往右循环移动)

思路理清了,接下来就是一步一步实现了

背景渐变 -webkit-linear-gradient (形成扫光背景块)

background: #111 -webkit-linear-gradient(left, #111, #fff) 0 0 no-repeat

background-size: 80px

默认背景为黑色,从左往右产生黑白渐变效果,背景位于左上角,不重复,背景大小80x80 (扫光背景块)

背景范围 -webkit-background-clip (实现文本背景)

为了实现文字扫光,我们必须把上一步形成的扫光背景块,控制在文字上面

background-clip 有三个属性: border-box, padding-box, content-box (具体效果不细说了)

显然这些属性并不能满足我们的这个需求,并没有可以控制文字背景的属性

但是在 webkit 下 background-clip 就有这样一个属性,那就是 background-clip: text 通常会配合其私有属性 -webkit-text-fill-color (填充文本颜色) 一起使用

背景动画 (扫光动画)

@-webkit-keyframes slideShine {

0% {

background-position: 0 0

}

100% {

background-position: 100% 100%

}

}

通过调整背景的位置(从左往右),来达到扫动的效果

效果实例

CSS Code

.bg {

background: #000

width: 1000px

height: 300px

margin: 0 auto

padding-top: 100px

}

.slideShine {

width: 1000px

font-family: "Microsoft YaHei"

font-size: 60px

text-align: center

background: #111 -webkit-linear-gradient(left, #111, #fff) 0 0 no-repeat

-webkit-background-size: 80px

-webkit-background-clip: text

-webkit-text-fill-color: rgba(255, 255, 255, 0.3)

-webkit-animation: slideShine 3s infinite

}

@-webkit-keyframes slideShine {

0% {

background-position: 0 0

}

100% {

background-position: 100% 100%

}

}

HTML Code

<div class="bg">

<p class="slideShine">Welcome to xinpureZhu Blog</p>

</div>

效果示图