DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> CSS毛玻璃效果如何實現
CSS毛玻璃效果如何實現
編輯:CSS詳解     
毛玻璃其實就是磨砂玻璃,能夠模糊的看清背後的風景,讓人感覺有種朦胧美,讓界面看上去有些層次感,對毛玻璃感興趣的小伙伴們可以參考一下

毛玻璃讓人感覺有種朦胧美,讓界面看上去有些層次感,下面就為大家分享毛玻璃的設計過程。
比如:

高大上啊,接下來肯定是眼饞手癢的過程。。。

當然,用ps搞一個全景毛玻璃背景毫無疑問是最省事的,那接下來就沒啥事可干了。

當然no no no了。

毛玻璃無疑就是種模糊了,少不了filter blur。

最終效果(Chrome):

天氣預報

嗯,也算是將就了。。。

XML/Html Code復制內容到剪貼板
  1. <!DOCTYPE Html>
  2. <Html>
  3. <head>
  4. <meta charset="utf-8">
  5. </style>
  6. </head>
  7. <body>
  8. <div class='container'>
  9. <div class='frosted-glass'></div>
  10. <img class='weather' src='cloudy.png'>
  11. </div>
  12. </body>
  13. </Html>

先搞一個div作為容器層,用來放置風景背景圖。

內部放一個div,作為毛玻璃的主體。

再放一個img,顯示天氣圖標。

容器層:

大小是圖片大小,把風景圖作為背景顯示,no-repeat。這裡用到一個小技巧,將background-attachment設成fixed,不隨元素滾動,讓子元素繼承了本層的背景後,子元素就變成了一個vIEwport,移到哪兒就看到背景的哪兒。。。額。。。這句話理解起來有點困難,碼農缺乏語言表達也是一大苦惱。

CSS Code復制內容到剪貼板
  1. .container{
  2. width: 287px;
  3. height: 285px;
  4. background-image: url(background.png);
  5. background-repeat: no-repeat;
  6. background-attachment: fixed;
  7. overflow: hidden;
  8. }

毛玻璃層:

這裡的關鍵技巧就是background:inherit,直接使用了父元素的背景,和父級的background-attachment:fixed可完成從相機看世界的各種牛逼效果。

本文的的毛玻璃是全景,當然可以上半部或者下半部,或者其他位置,這就看出inherit和fixed最牛的地方了。

CSS Code復制內容到剪貼板
  1. .frosted-glass{
  2. width: 287px;
  3. height: 285px;
  4. background: inherit;
  5. -webkit-filter: blur(5px);
  6. -moz-filter: blur(5px);
  7. -ms-filter: blur(5px);
  8. -o-filter: blur(5px);
  9. filter: blur(5px);
  10. filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=4, MakeShadow=false);
  11. }

上面的各種filter為了兼容各種浏覽器版本,可度娘可谷歌,隨便啦。

IE6~9的就用filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=4, MakeShadow=false)進行兼容。

IE8下的效果,繼續將就吧。

最後就是天氣圖標:

需要把圖標浮在最上層某個位置上,個人不太喜歡使用飛在天上的absolute來解決人間的俗世問題,元素內的定位用margin來作就足夠了,雖然會在頁面的回流上有影響,但不會產生足夠的影響,好處就是父元素的位置和大小的變動產生後遺症會盡可能小,讓absolute來弄,那就頭大了,人間的問題就讓人間的來解決吧。

圖標的position設成relative,是為了讓它浮在最上面,因為relative的要比默認static的顯示層級高。

定位就用margin來做,當然前提是要把它弄成block級元素,否則就然並卵了。

CSS Code復制內容到剪貼板
  1. .weather{
  2. width:80px;
  3. height:80px;
  4. margin-top: -200px;
  5. margin-left: 100px;
  6. position: relative;
  7. display: block;
  8. }

至此完成基本效果。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved