绘制渐变背景图

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

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. nginx 配置tp3.2

    server { listen 80; server_name 域名; #charset koi8-r; #access_log /var/log/nginx/host.access.log main ...

  2. C++默认函数与函数重载

    一.默认参数 在C++中,可以为参数指定默认值.在函数调用时没有指定与形参相对应的实参时, 就自动使用默认参数. 默认参数的语法与使用:(1)在函数声明或定义时,直接对参数赋值.这就是默认参数: (2 ...

  3. 洛谷 P1600 天天爱跑步

    https://www.luogu.org/problemnew/show/P1600 (仅做记录) 自己的假方法: 每一次跑从a到b:设l=lca(a,b)对于以下产生贡献: a到l的链上所有的点( ...

  4. bootmanager is missing

    问题描述: 在计算机管理->存储->磁盘管理中,因误操作,将D盘设置了"将分区标记为活动分区(M)",导致重启时无法无法进入系统,提示"bootmanager ...

  5. Android Dialogs(2)最好用DialogFragment创建Dialog

    Creating a Dialog Fragment You can accomplish a wide variety of dialog designs—including custom layo ...

  6. java awt 乱码问题

    问题:项目环境是utf-8,awt的元件比如label一直乱码 解决: (eclipse) 1.在你的具有main函数的类也即你应用运行的主类上点击右键,选择Run As中的Run Configura ...

  7. Rocketmq Broker启动网卡顺序问题

    方法一.修改网卡名称,因为网卡顺序是通过名称排列的 方法二.指定broker使用IP echo "brokerIP1=192.168.1.220" > conf/broker ...

  8. reveal.js让程序员做ppt也享受快乐

    前言 程序员除了会写的一手漂亮的代码,也要求做出风格优雅的PPT,诸如向领导汇报工作.向小组成员反馈项目进展自己的工作等等.就本人而言,做ppt还要去找模板,还需要设计风格,内心是焦灼的.于是乎,我搜 ...

  9. R in action读书笔记(16)第十二章 重抽样与自助法之 置换检验

    第十二章:重抽样与自助法 本章,我们将探究两种应用广泛的依据随机化思想的统计方法:置换检验和自助法 12.1 置换检验 置换检验,也称随机化检验或重随机化检验. 有两种处理条件的实验,十个受试者已经被 ...

  10. 迅为IMX6Q四核核心板商业级|工业级|IMX6Plus版本|IMX6DL双核核心板

    IMX6Q处理器:兼容单核,双核,工业级,汽车级,IMX6Q最新Plus版本,共用同一底板,高端产品无忧. i.MX6系列针对消费电子.工业控制和汽车应用领域,它将ARM Cortex-A9架构的高功 ...