您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“如何利用CSS構建花式透視背景”,內容詳細,步驟清晰,細節處理妥當,希望這篇“如何利用CSS構建花式透視背景”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
效果:
仔細看,在頁面的的滾動過程中,頂欄的背景不是白色的,也不是毛玻璃效果,而是能夠將背景顆粒化:
準確而言,是一種基于顆粒化的毛玻璃效果,元素首先是被顆粒化,其次,元素的邊緣也是在一定程度上被虛化了。那么,我們該如何實現這個效果呢?
上述效果看似神奇,其實原理也非常簡單。主要就是顆粒化的背景 background加上backdrop-filter: blur()
即可。
首先,我們需要實現顆粒背景。
我們利用 background
實現這樣一個背景:
<div></div>
div {
background: radial-gradient(transparent, #000 20px);
background-size: 40px 40px;
}
從透明到黑色的徑向漸變效果如下:
需要注意的是,圖里的白色部分其實透明的,可以透出背后的背景。此時,如果背景后面有元素,效果就會是這樣:
好,我們將 background: radial-gradient(transparent, #000 20px)
中的黑色替換成白色,效果如下:
這里為了展示原理,每個徑向漸變的圓設置的比較大,我們把它調整回正常大小:
div {
background: radial-gradient(transparent, rgba(255, 255, 255, 1) 2px);
background-size: 4px 4px;
}
這樣,我們就成功的將背景顆粒化:
當然,此時透出的背景看上去非常生硬,也不美觀,所以,我們還需要 backdrop-filter: blur()
,我們加上一個試試看:
div {
background: radial-gradient(transparent, rgba(255, 255, 255, 1) 2px);
background-size: 4px 4px;
backdrop-filter: blur(10px);
}
這樣,我們就實現了一開始所展示的效果:
這里需要注意的是,background-size
的大小控制,和不同的 backdrop-filter: blur(10px)
值,都會影響效果。
完整的 DEMO,你可以戳這里:CodePen Demo -- Mask Filter
當然,掌握了這個技巧之后,我們可以嘗試替換掉 background: radial-gradient()
圖形,及改變 background-size
,嘗試各種不同形狀的透視背景。簡單舉幾個例子:
div {
background: linear-gradient(45deg, transparent, #fff 4px);
background-size: 6px 6px;
backdrop-filter: saturate(50%) blur(4px);
}
這里使用了 linear-gradient()
替換了 radila-gradient()
:
讀到這里,這篇“如何利用CSS構建花式透視背景”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。