绘制渐变背景图

第一种:大神的想法,摘抄

background-image: -webkit-linear-gradient(left, blue, red 25%, blue 50%, red 75%, blue 100%);
使用CSS3的渐变绘制图像,从左到右。
需要注意的是颜色是 0到49%的颜色组 = 50%到99%的颜色组,且最后100%的颜色要和开头0的颜色相等
这是为了能无缝衔接流光效果, 之后有说到

裁剪背景图

-webkit-background-clip: text;
使用文字作为裁剪区域向外裁剪,此时文字颜色仍覆盖背景图

设置字体颜色

-webkit-text-fill-color: transparent; or color: transparent;
将字体颜色设置成透明,这样就能将背景图显示出来了

设置背景图长度

background-size: 200% 100%;
将背景图宽度拉长至两倍,之前设置background-image的两份相同的颜色组,就是为了能在此拉长后只显示一份颜色组,另外超出的半截颜色组用来实现流光效果

开始动画

animation: streamer 5s infinite linear;

@keyframes streamer {
0% {
background-position: 0 0;
}
100% {
background-position: -100% 0;
}
}

第二种实现方式:(比较笨,是自己想的)

.span{
position:absolute;
top:33%;
left:15%;
display:inline-block;
font-size:33px;
font-family: 'Microsoft YaHei';
animation:span 3s linear infinite;
-webkit-animation:span 3s linear infinite;
-moz-animation:span 3s linear infinite;
background-image: -webkit-gradient(linear, left top,right top, from(blue), color-stop(0.25, green), color-stop(0.5, red), color-stop(0.75, pink), to(blue));
background-image: -moz-gradient(linear, left , blue, green, red, pink, blue);
-webkit-background-clip: text;//用文字对背景进行裁剪
-webkit-text-fill-color: transparent;//文字颜色为透明,就可以用背景色代替文字颜色
}
@keyframes span{
0%{
background-image: -webkit-gradient(linear, left top,right top, from(red),color-stop(0.5, blue), to(green));
background-image: -moz-gradient(linear, left , blue, green, red, pink, blue); }
50%{
background-image: -webkit-gradient(linear, left top,right top, from(green),color-stop(0.5, red), to(blue));
background-image: -moz-gradient(linear, left , blue, green, red, pink, blue);
}
100%{
background-image: -webkit-gradient(linear, left top,right top, from(blue),color-stop(0.5, green), to(red));
background-image: -moz-gradient(linear, left , blue, green, red, pink, blue);
}
}

使用伪元素的方法实现边框从四周散开或者聚拢

.bigDiv::after{
content:'';
width:5%;
height:100%;
position:absolute;
left:50%;
top:;
border-top:4px solid white;
border-bottom:4px solid white;
-webkit-transition:all 1s linear ;
-moz-transition:all 1s linear ;
-ms-transition:all 1s linear ;
-o-transition:all 1s linear ;
transition:all 1s linear;
height:100%;
}
.container:hover .bigDiv::after{
width:49%;
-webkit-transition:all 1s linear ;
-moz-transition:all 1s linear ;
-ms-transition:all 1s linear ;
-o-transition:all 1s linear ;
transition:all 1s linear;
}
.bigDiv::before{
content:'';
width:3%;
height:100%;
position:absolute;
left:50%;
top:;
border-top:4px solid white;
border-bottom:4px solid white;
-webkit-transition:all 1s linear ;
-moz-transition:all 1s linear ;
-ms-transition:all 1s linear ;
-o-transition:all 1s linear ;
transition:all 1s linear;
}
.container:hover .bigDiv::before{
width:50%;
left:0%;
-webkit-transition:all 1s linear ;
-moz-transition:all 1s linear ;
-ms-transition:all 1s linear ;
-o-transition:all 1s linear ;
transition:all 1s linear;
}

以上是上下边框效果的实现;

下面是如何实现左右边框实现效果

<div class="container">
<div class="context"></div>
<div class="bigDiv" >
<i class="border_left"></i>
<span class="span">
Welcome momoxiaobai
</span>
<a class="span1" href="#">
Click here
</a>
</div>
</div>

</div>

创建一个元素,设置此元素的伪元素的位置,设计相应的效果:

.border_left::before{
content:'';
width:521px;
height:0px;
position:absolute;
left:%;
top:%;
border-left:2px solid white;
border-right:2px solid white;
-webkit-transition:all 1s linear ;
-moz-transition:all 1s linear ;
-ms-transition:all 1s linear ;
-o-transition:all 1s linear ;
transition:all 1s linear;
}
.container:hover .border_left::before{
height:.5px;
-webkit-transition:all 1s linear ;
-moz-transition:all 1s linear ;
-ms-transition:all 1s linear ;
-o-transition:all 1s linear ;
transition:all 1s linear;
}
.border_left::after{
content:'';
width:521px;
height:0px;
position:absolute;
left:%;
top:%;
border-left:2px solid white;
border-right:2px solid white;
-webkit-transition:all 1s linear ;
-moz-transition:all 1s linear ;
-ms-transition:all 1s linear ;
-o-transition:all 1s linear ;
transition:all 1s linear;
}
.container:hover .border_left::after{
height:.5px;
top:%;
-webkit-transition:all 1s linear ;
-moz-transition:all 1s linear ;
-ms-transition:all 1s linear ;
-o-transition:all 1s linear ;
transition:all 1s linear;
}

有趣的鼠标悬浮模糊效果总结---(filter,渐变文字)的更多相关文章

  1. css实现鼠标悬浮字体流光背景模糊效果

    原文地址:→看过来 写在前面 有的时候感觉写点小玩意儿挺开心的,还能实践很多的小知识点,所以这次学着写了个有趣的鼠标悬浮模糊效果,只使用了css额. 效果图 源码地址→传送门 预览地址→传送门 小知识 ...

  2. asp.net gridview 鼠标悬浮提示信息

    使用场景: gridview绑定数据,某列数据太多,故超过一定字符,隐藏起来,同时鼠标移到指定列显示其明细信息: 知识点: 1,oderListTbl_DataBound事件中,添加,oderList ...

  3. ArcGIS api fo silverlight学习三(利用ElementLayer实现鼠标悬浮弹出自定义窗体)

    接着上一节继续学习,本节主要是利用ElementLayer实现鼠标悬浮弹出自定义窗体 参考博文:http://www.cnblogs.com/luxiaoxun/p/3322218.html 一.新建 ...

  4. IntelliJ设置鼠标悬浮提示和修改快捷键

    IntelliJ设置鼠标悬浮提示和修改快捷键 设置鼠标悬浮提示 修改快捷键 进入设置菜单 删除原来的快捷键(注:你可以选择保留原来的快捷键,同时使用两个快捷键) Good Luck

  5. 一款很实用的jQuery鼠标悬浮有动画效果的响应式瀑布流插件

    一款很实用的jQuery鼠标悬浮有动画效果的响应式瀑布流插件 在线预览 下载地址 实例代码 <!doctype html> <html lang="zh"> ...

  6. CSS/JS图片鼠标悬浮一道光闪过

    看到有些网站logo鼠标悬浮上面的时候,会出现一道光,一闪而过,刚开始以为是gif图,已审查, 居然不是:现在就实现在这种效果: 先看看CSS实现的效果图: 看到没,就是这道刺眼的白光....   啊 ...

  7. 使用JS实现鼠标悬浮切换显示

    实现的是在鼠标悬停在不同链接上,在同一位置切换显示想要显示的内容 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...

  8. 利用 :before :after伪类实现鼠标悬浮动画效果

    1.最近在逛网站的时候,想找一下喜欢的鼠标悬浮效果,避免广告的嫌疑,直接放图了: 2.在实现的时候,如果在直接使用鼠标hover ,transform,进行过渡,不能达到想要的效果,因为同时只能触发一 ...

  9. CSS鼠标悬浮DIV后显示DIV外的按钮

    昨天写样式遇到个问题,如何让鼠标悬浮DIV后,显示DIV外的按钮,可以点击到按钮. 效果如下: 问题: 在DIV hover时候将按钮设为display: block,这是很直接的想法,但是这有个问题 ...

随机推荐

  1. springMVC @Valid不起作用

    springmvc使用JSR-303进行表单验证不生效的问题 spring只是支持jsr-303验证,但却不提供jsr-303的实现,文档中提及了需要导入类如hibernate-validator等j ...

  2. linux 重名名、删除文件操作

    linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 删除文件夹 r ...

  3. Code:Blocks 中文乱码问题原因分析和解决方法

    下面说说修改的地方. 1.修改源文件保存编码在:settings->Editor->gernal settings 看到右边的Encoding group Box了吗?如下图所示: Use ...

  4. 《Windows核心编程系列》十一谈谈Windows线程池

    Windows线程池 上一篇博文我们介绍了IO完成端口.得知IO完成端口可以非常智能的分派线程.但是IO完成端口仅对等待它的线程进行分派,创建和销毁线程的工作仍然需要我们自己来做. 我们自己也可以创建 ...

  5. Qt对象模型之一:信号和槽

    一.信号和槽机制概述 信号槽是 Qt 框架引以为豪的机制之一.所谓信号槽,实际就是观察者模式.当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal).这种发出是没有目 ...

  6. [CF Round #278] Tourists

    给定一个n个点m条边的无向图,求图上的两点的所有的简单路径之间的最小边. 蓝链 $ n,m,q \leq 100000, w_i \leq 10 ^7$ Solution 考虑建立用缩点双来建立广义圆 ...

  7. [Usaco2017 Feb]Why Did the Cow Cross the Road II (Gold)

    Description 上下有两个长度为n.位置对应的序列A.B, 其中数的范围均为1~n.若abs(A[i]-B[j])<= 4,则A[i]与B[j]间可以连一条边. 现要求在边与边不相交的情 ...

  8. 人工智能-深度学习(3)TensorFlow 实战一:手写图片识别

    http://gitbook.cn/gitchat/column/59f7e38160c9361563ebea95/topic/59f7e86d60c9361563ebeee5 wiki.jikexu ...

  9. java.lang.UnsatisfiedLinkError: E:\TomcatV7_iot\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform

    启动64位Tomcatv7时报如下错误: java.lang.UnsatisfiedLinkError: E:\TomcatV7_iot\bin\tcnative-.dll: Can't load A ...

  10. Css 基本的规则写法

    样式表的写法: css的语法由一些标志构成,就是一个基本的样式表由选择器,属性和属性值构成.Css有标准的写法规则标准的css写法: h1 { Font-family:黑体;} h1:表示选择符Fon ...