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

绘制渐变背景图

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

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:0;
    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:0;
    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:0%;
    top:50%;
    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:168.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:0%;
    top:50%;
    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:168.5px;
    top: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;
}
时间: 2024-10-25 08:52:01

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

鼠标悬浮于链接之上出现文字说明效果

鼠标悬浮于链接之上出现文字说明效果:对于超链接<a>标签,有一个title属性,当鼠标表悬浮于链接之上时候,就会显示title的属性值,虽然在一定程度上满足了我们的需要,但是美观度却似差强人意,同时无法修改它的样式,下面就来介绍一下如何利用jquery模拟实现此功能.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="a

CSS鼠标悬浮图片模糊切换效果

分享一段代码实例,它实现了图片的模糊效果. 默认状态下,图片是模糊的,当鼠标悬浮那么图片会恢复正常状态. 代码实例如下: <!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>web前端开发学习q群

鼠标悬浮显示文字半透明背景

鼠标悬浮显示文字半透明背景 鼠标悬浮头像,出现文字"上传头像",之前都是使用< a title="上传头像"></a>这样的title来实现现在设计稿,是在头像上面,显示的大号字体的文字,且有一层黑色遮罩层第一想法是,多写一个层,悬浮时候,出现即可多想一步,使用css的content:"",来实现content后面的是双引号针对半透明黑色背景层background:#000opacity:0.5这是透明了全部(背景色和文字

鼠标悬浮图片一道光闪过

看到有些网站logo鼠标悬浮上面的时候,会出现一道光,一闪而过,刚开始以为是gif图,已审查,居然不是:现在就实现在这种效果: 先看看CSS实现的效果图: 看到没,就是这道刺眼的白光....   啊啊..我的眼睛.... 代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title

css实现的当鼠标悬浮弹出说明层效果

css实现的当鼠标悬浮弹出说明层效果:本章节分享一段代码实例,它是使用纯css实现的鼠标悬浮弹出说明层效果.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</

CSS实现的鼠标悬浮整行背景变色代码

CSS实现的鼠标悬浮整行背景变色代码:在新闻列表形式的不居中,为了清晰的分辨每一行,一般当鼠标悬浮在一行上的时候,能够实现当前行整行变色,下面就通过代码实例简单介绍一下如何实现此效果,代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/

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

接着上一节继续学习,本节主要是利用ElementLayer实现鼠标悬浮弹出自定义窗体 参考博文:http://www.cnblogs.com/luxiaoxun/p/3322218.html 一.新建silverlight用户控件 自定义窗体,可以放置很多控件,命名为MyMapTip.xaml,代码为: <Grid x:Name="LayoutRoot" Width="400" Height="100" Background="T

鼠标悬浮给图片加边框,适合大型展示

鼠标悬浮给图片加边框 html代码 <div class="T-s-l fl"> <a href="" class="a1"> <img src="images/11.jpg" width="234" height="368" /> </a><a href="" class="a2"> &

webdriver模拟鼠标悬浮

未经作者允许,禁止转载! 有时候会遇到这样的情况,鼠标停留在某一区域,不需要点击,悬浮在这一区域的上方就会显示该区域的下拉框,如下图 下面将鼠标停留在"日历"和"星座"这两个部分之间来回悬浮,下面是代码: package test20161207; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; im