您好,登錄后才能下訂單哦!
這篇文章主要介紹“CSS3如何實現毛玻璃效果”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“CSS3如何實現毛玻璃效果”文章能幫助大家解決問題。
代碼如下:
body { 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); } <main>……</main>
去掉那些式樣方面的代碼,上面實現毛玻璃效果的核心代碼如下:
body { … background: url("iphone.jpg") fixed 0 center; background-size: cover; } main { … background: hsla(0,0%,100%,.3); }
當然這個效果離我們的期望還有點距離,因為單純的30%的透明度會讓文字變的難以閱讀。對頁面來說背景圖只是起美化作用,文字才是最核心的。你可以增大透明度的百分比,但這樣頁面會顯得很死板。為了讓文字便于閱讀,又保持頁面的生動活潑,可以對上面的mian標簽的背景做模糊處理。
你可能嘗試blur濾鏡,但可惜的是效果不對:
main { … -webkit-filter: blur(3px); filter: blur(3px); }
用blur濾鏡會將文字也模糊掉,更看不清了,只能放棄。正確的做法是給mian標簽增加偽元素::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效果是出來了,但導致了兩個問題。首先由于blur出現了外陰影,這個比較好解決,只要加上 overflow: hidden;
就行了。其次四周20px的模糊半徑范圍內模糊效果會逐漸消退。如果對此比較介意,想讓四周的模糊效果和中間一樣,可以將偽元素尺寸外擴20px,為了保險起見,可以稍微再外擴一點到30px:
main { … overflow: hidden; } main::before { … margin: -30px; }
最后將偽元素的紅色背景色替換成body的背景圖即可。
1.行內樣式,最直接最簡單的一種,直接對HTML標簽使用style=""。
2.內嵌樣式,就是將CSS代碼寫在之間,并且用進行聲明。
3.外部樣式,其中鏈接樣式是使用頻率最高,最實用的樣式,只需要在之間加上就可以了。其次就是導入樣式,導入樣式和鏈接樣式比較相似,采用@import樣式導入CSS樣式表,不建議使用。
關于“CSS3如何實現毛玻璃效果”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。