美文网首页
CSS3 滤镜filter: blur()高斯模糊的应用

CSS3 滤镜filter: blur()高斯模糊的应用

作者: 巴斯光年lip | 来源:发表于2017-07-04 23:54 被阅读0次

filter 属性定义了元素(通常是img)的可视效果(例如:模糊与饱和度)。
语法:
filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();

浏览器支持

使用效果:查看demo
demo是我的GitHub主页,当鼠标放在圆形上面的时候,圆形会旋转,这里主要应用了 animation属性。而绿色圆形的下面那层投影的模糊效果则是运用了下面这条属性:

    -webkit-filter: blur(2px);   /* Chrome, Safari, Opera */
    filter: blur(2px);

而完整卡片又该怎么写呢?
首先是它的<html>结构:

    <div class="z two">
        <div class="circle circle_two"></div>  /*圆形*/
        <span></span>  /*投影模糊层*/
        <h1>CSS</h1>
        <p>CSS3-日常练习</p>
    </div>

CSS样式:
圆角背景:

.z{
    width: 290px;
    height:420px;
    border-radius: 12px;
    display: inline-block;
    margin: 5px 20px;
    position: relative;
    cursor: pointer;
    -webkit-transition: all .7s ease-in-out;  /*过渡属性*/
    -moz-transition: all .7s ease-in-out;
    transition: all .7s ease-in-out;
    background: #EFF9FA;
}
.z:hover {
    background: rgba(255, 255, 255, 0);  /*鼠标悬停时隐藏背景图层*/
}

圆形样式:

circle {
    width: 160px;
    height: 160px;
    border-radius: 50%;  /*圆角是边长的一半,塑圆形*/
    position: absolute;
    top: 50%;
    left: 50%; 
    margin-top: -115px;
    margin-left: -105px;   /*定位圆形相对于背景层的位置*/
    z-index:1;   /*圆形定位在背景层之前*/
    filter:alpha(opacity=30);  /*透明度*/
    -moz-opacity:0.3;  
    -khtml-opacity: 0.3;  
    opacity: 0.3;  
}
 /*设置圆形图案的渐变色*/
.circle_two {
    background-image: -webkit-gradient(linear, 120deg, from(#47fec4), to(#2689A7));
    background-image: -webkit-linear-gradient(120deg, #47fec4, #2689A7);
    background-image: -moz-linear-gradient(120deg, #47fec4, #2689A7);
    background-image: linear-gradient(120deg, #47fec4, #2689A7);
    box-shadow: 0 0 4px 4px #CDF1FD; 
}
@keyframes spin {
  to {transform:rotate(1turn);}  /*指定圆形的动画*/
}
.circle:hover{
    animation: spin 3s infinite linear;
    transform-origin: 90px 80px;
}

投影层的样式:

.z span {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    position: absolute;
    top:130px;
    left: 100px;
    -webkit-filter: blur(2px);  /* 高斯模糊 */
    filter: blur(2px);
    filter:alpha(opacity=40);   /* IE */
      -moz-opacity:0.4;   /* 老版Mozilla */
      -khtml-opacity: 0.4;  /* 老版Safari */
      opacity: 0.4;  /* 支持opacity的浏览器*/

/*填充圆形投影渐变色*/
    background-image: -webkit-gradient(linear, 120deg, from(#E9F6C2), to(#9edab0));
    background-image: -webkit-linear-gradient(120deg, #E9F6C2, #9edab0);
    background-image: -moz-linear-gradient(120deg, #E9F6C2, #9edab0);
    background-image: linear-gradient(120deg, #E9F6C2, #9edab0);
    box-shadow: -2px -2px 30px #94d0a6;  
}

文字的样式:

.z h1,.z p {
    margin-top:330px;  
    color: rgba(66, 121, 133, .6);
}
.z h1 {
    font-size: 18px;   
}
.z p {
    font-size: 14px;
    margin-top: 5px;
}

如此,便可不用一张图,写出这张卡片了。

相关文章

网友评论

      本文标题:CSS3 滤镜filter: blur()高斯模糊的应用

      本文链接:https://www.haomeiwen.com/subject/scnxhxtx.html