绘制渐变背景图

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

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. IE6,7bug大搜集

    断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决 ,也希望大家能在留言里面跟进自己发现的ie6 7 8bug和解决办法! 1 ...

  2. [Usaco2012 Open]Balanced Cow Subsets

    Description Farmer John's owns N cows (2 <= N <= 20), where cow i produces M(i) units of milk ...

  3. 51nod 1126 求递推序列的第N项

    1126 求递推序列的第N项  基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f( ...

  4. jmeter(十二)处理Cookie与Session

    JMeter的工作原理是: JMeter可以作为Web服务器与浏览器之间的代理网关,以便捕获浏览器的请求和Web服务器的响应,这样就很容易地生成性能测试脚本, 有了性能测试脚本,JMeter就可以通过 ...

  5. D. Arpa's weak amphitheater and Mehrdad's valuable Hoses 分组背包模板题

    http://codeforces.com/problemset/problem/742/D 并查集预处理出所有关系. 一开始的时候,我预处理所有关系后,然后选择全部的时候,另起了一个for,然后再判 ...

  6. 学习笔记 第九章 使用CSS美化表格

    第9章  使用CSS美化表格 学习重点 正确使用表格标签: 设置表格和单元格属性: 设计表格的CSS样式. 9.1 表格的基本结构 表格由行.列.单元格3部分组成,单元格时行与列交叉的部分. 在HTM ...

  7. 2019最新版Devops工具集

    啥是Devops? 简单地来说,就是开发(DEV).测试(QA).运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建.测试.发布更加快捷.频繁和可靠. 当然现实的DevOps ...

  8. axis2与eclipse的整合:开始一个简单的axis2 的demo

    1.下载axis2,现在axis2最新版本是axis2-1.6.2,下载地址:http://axis.apache.org/axis2/java/core/download.cgi 2.下载好的zip ...

  9. Proc datasets

    作用:控制数据集.Datasets 过程运行结果不输出,结果只有在日志里才能看到. 基本语法: proc datasets lib=work; quit; 用法: 1. 更改数据集 proc data ...

  10. splice用法解析

    splice()方法算是最强大的数组方法了,它有很多种用法,主要用于删除指定位置的数组项,在指定的位置插入数组项,在指定位置替换数组项,slpice()方法始终都会返回一个数组,该数组包括从原始数组中 ...