CSS毛玻璃效果如何实现_html/css_WEB-ITnose

WBOY
發布: 2016-06-21 08:46:58
原創
1121 人瀏覽過

毛玻璃效果就是底层模糊,面层清晰的那种

毛玻璃效果

这是html源文件

< !DOCTYPE html>  <html>  <head>      <meta charset="utf-8"/> </head>  <body>      <div class='container'>          <div class='frosted-glass'></div>          <img  class='weather' src='cloudy.png'/ alt="CSS毛玻璃效果如何实现_html/css_WEB-ITnose" >      </div>  </body>  </html> 
登入後複製

先搞一个div作为容器层,用来放置风景背景图。

内部放一个div,作为毛玻璃的主体。

再放一个img,显示天气图标。

其实就是三层镶嵌。

容器层

.container{          width: 287px;    //设置好容器层的大小,宽和高,这样就先固定了这个容器层,       height: 285px;          background-image: url(background.png);    //填充一个背景图,这个背景图的大小要跟容器的宽高是一样的,因为设置了no-repeat,所以如果太小就会出现填充不满                                                //当然可以设置background-size:100% 100%之类       background-repeat: no-repeat;          background-attachment: fixed;     //设置这个的原因主要是为了将背景图固定好,这个固定是相对浏览器而言,所以直接的效果就是相对于用户来说,滚动浏览器也能看到背景图                                        //但这个并不作为毛玻璃效果显示的技术点。       overflow: hidden;      } 
登入後複製
  1. background-attachment: fixed; 当页面的其余部分滚动时,背景图像不会移动。
  2. background-repeat: no-repeat; 把背景图设置为不重复
  3. overflow: hidden; 超出部分不显示

毛玻璃层

.frosted-glass{           width: 287px;    //这里的高度和宽度跟背景容器一样,也是为了实现更好的显示效果        height: 285px;           background: inherit;    //主要是为了能够跟父元素背景更加融合在一起,实现姣好的全景毛玻璃效果        -webkit-filter: blur(5px);   //其他都是兼容参数        -moz-filter: blur(5px);           -ms-filter: blur(5px);           -o-filter: blur(5px);           filter: blur(5px);    //主要是这个        filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=4, MakeShadow=false);   //兼容ie    }   
登入後複製
  1. background: inherit; 继承父元素的背景
  2. 毛玻璃的关键点在于 filter:blur ,filter是滤镜的意思,滤镜有很多种,能够像给照片加滤镜效果一样直接加。

    ``` Alpha:设置透明层次  blur:创建高速度移动效果,即模糊效果  Chroma:制作专用颜色透明  DropShadow:创建对象的固定影子  FlipH:创建水平镜像图片  FlipV:创建垂直镜像图片  glow:加光辉在附近对象的边外  gray:把图片灰度化  invert:反色  light:创建光源在对象上  mask:创建透明掩膜在对象上  shadow:创建偏移固定影子  wave:波纹效果  Xray:使对象变得像被x光照射一样```
    登入後複製

图标层

把背景模糊了,是为了凸显出某些东西,这个图标层就是泛指这些要凸显的东西

 .weather{        width:80px;        height:80px;        margin-top: -200px;        margin-left: 100px;        position: relative;   //这里用相对布局,通过margin来调整位置,这样主要是为了更方便的跟随容器层一起移动或者显示。                          //并且图标的position设成relative,是为了让它浮在最上面,因为relative的要比默认static的显示层级高。     display: block;     }
登入後複製

参考: http://www.jb51.net/css/412009.html

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!