這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)CSS3中實(shí)現(xiàn)毛玻璃效果,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),竹山網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:竹山等地區(qū)。竹山做網(wǎng)站價(jià)格咨詢:18982081108body { min-height: 100vh; box-sizing: border-box; margin: 0; padding-top: calc(50vh - 6em); font: 150%/1.6 serif; background: url("iphone.jpg") fixed 0 center; background-size: cover; } main { margin: 0 auto; padding: 1em; max-width: 30em; border-radius: .3em; box-shadow: 0 0 0 1px hsla(0,0%,100%,.3) inset, 0 .5em 1em rgba(0, 0, 0, 0.6); text-shadow: 0 1px 1px hsla(0,0%,100%,.3); background: hsla(0,0%,100%,.3); }……
去掉那些式樣方面的代碼,上面實(shí)現(xiàn)毛玻璃效果的核心代碼如下:
body { … background: url("iphone.jpg") fixed 0 center; background-size: cover; } main { … background: hsla(0,0%,100%,.3); }
當(dāng)然這個(gè)效果離我們的期望還有點(diǎn)距離,因?yàn)閱渭兊?0%的透明度會(huì)讓文字變的難以閱讀。對(duì)頁(yè)面來(lái)說(shuō)背景圖只是起美化作用,文字才是最核心的。你可以增大透明度的百分比,但這樣頁(yè)面會(huì)顯得很死板。為了讓文字便于閱讀,又保持頁(yè)面的生動(dòng)活潑,可以對(duì)上面的mian標(biāo)簽的背景做模糊處理。
你可能嘗試blur濾鏡,但可惜的是效果不對(duì):
main { … -webkit-filter: blur(3px); filter: blur(3px); }
用blur濾鏡會(huì)將文字也模糊掉,更看不清了,只能放棄。正確的做法是給mian標(biāo)簽增加偽元素::before,在偽元素上使用blur濾鏡:(為了效果演示,加上了紅色背景色)
main { position: relative; … } main::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; -webkit-filter: blur(20px); filter: blur(20px); background: rgba(255,0,0,.5); }
可以看出blur效果是出來(lái)了,但導(dǎo)致了兩個(gè)問題。首先由于blur出現(xiàn)了外陰影,這個(gè)比較好解決,只要加上overflow: hidden;
就行了。其次四周20px的模糊半徑范圍內(nèi)模糊效果會(huì)逐漸消退。如果對(duì)此比較介意,想讓四周的模糊效果和中間一樣,可以將偽元素尺寸外擴(kuò)20px,為了保險(xiǎn)起見,可以稍微再外擴(kuò)一點(diǎn)到30px:
main { … overflow: hidden; } main::before { … margin: -30px; }
最后將偽元素的紅色背景色替換成body的背景圖即可,效果如下。你也可以點(diǎn)擊 這里 ,右鍵查看完整的源代碼。
上述就是小編為大家分享的CSS3中實(shí)現(xiàn)毛玻璃效果了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。