巧用CSS cross-fade(.)實現背景圖像半透明效果

2020-12-26 騰訊網

前段時間有挺火的一個小遊戲,拿兩張圖片疊加在一起,看看複合人物的效果,用css怎麼實現呢?可能大部分人想到的是將兩個img用定位的方式疊加在一起,分別設置透明度,當然這個辦法是可行的,其實css還提供了一個cross-fade()方法,講兩張圖片作為背景圖引入,可以實現相同的效果。

cross-fade()函數可以讓兩張圖像半透明混合。 例如

HTML

css

.box {

width: 600px;

height: 450px;

background-image: -webkit-cross-fade(url(girl.jpg), url(1.jpg), 50%);

background-image: cross-fade(url(girl.jpg), url(1.jpg), 50%);}

小夥伴們注意了,目前谷歌要想支持該函數需要添加前綴-webkit-才可以實現,會出現下面的效果:

這個效果就是1.jpg這張圖以50%的透明度和girl.jpg以50%的透明度進行了混合渲染 ,

是不是覺得這個方法比定位簡單太多啦~~~

來看一下具體的實現方法:

cross-fade()函數獲取圖像列表,並以百分比的形式定義當每個圖像與其他圖像混合時保留的不透明度。百分比值必須編碼為不帶引號,並且必須包含「%」符號,並且其值必須在0%和100%之間 。將百分比視為每個圖像的不透明度值,這意味著值為0%表示圖像完全透明,而值為100%則使圖像完全不透明。

下面的格式是將1.png這張圖以75%的透明度與2.png這張圖25%的透明度進行混合渲染

cross-fade( url(1.png) 75%, url(2.png) 25%);

上面的形式也可以寫成

cross-fade( url(1.png) 75%, url(2.png));

如果未聲明任何百分比,則兩張圖像都將是50%不透明的,並且淡入淡出渲染是兩張圖像的均勻合併。 以下是相同的效果。

cross-fade( url(1.png) 50%, url(2.png) 50%);

cross-fade( url(1.png) , url(2.png));

如果未聲明任何百分比並且包含三個圖像,則每個圖像的不透明度為33.33%。以下是相同的效果。

cross-fade( url(1.png), url(2.png), url(3.png));

cross-fade( url(1.png) 33.33%, url(2.png) 33.33%, url(3.png) 33.33%);

是不是感覺css強大了很多!

相關焦點

  • 非JS用CSS實現hover顯示標題效果
    現在,我們可以通過CSS3特效來實現懸停彈出效果。這是一個有趣的事情,讓我們放棄了更多的JS。但是,很多時候我們都忘記了CSS2.1給我們帶來的美好效果。因為它具有非常好的瀏覽器支持,我們可以做很多特效以便兼容目前所有主流瀏覽器。
  • 如何用PS摳冰塊等半透明圖像?PS摳半透明圖雜色如何去除?
    PS經常被用來摳圖,不過有一些圖片不會摳,比如冰塊這樣半透明的圖像,下面小編就來教大家如何摳冰塊吧!1.首先我們導入冰塊的素材,能夠看到冰塊半透明還是白色的背景。3.將冰塊的外輪廓用鋼筆摳出來,建立一個路徑。4.按ctrl+回車建立選區,按ctrl+J複製出來,讓背景是透明的。5.下面就是使用通道了,點擊通道,選擇預覽圖明暗對比最強的紅通道建立選區。
  • CSS 背景(background)
    背景平鋪(repeat)語法: background-repeat : repeat | no-repeat | repeat-x | repeat-y 參數: repeat :  背景圖像在縱向和橫向上平鋪(默認的)no-repeat :  背景圖像不平鋪repeat-x :  背景圖像在橫向上平鋪repeat-y
  • 厲害了-純 CSS 實現波浪效果!
    使用 canvas 實現波浪效果使用 canvas 實現波浪效果的原理與 SVG 一樣,都是利用路徑繪製出三次貝塞爾曲線並賦予動畫效果。純 CSS 實現波浪效果好,接下來才是本文的重點!使用純 CSS 的方式,實現波浪的效果。你 TM 在逗我?剛剛不是還說使用 CSS 無能為力嗎?
  • 純 CSS 實現波浪效果!
    使用 canvas 實現波浪效果使用 canvas 實現波浪效果的原理與 SVG 一樣,都是利用路徑繪製出三次貝塞爾曲線並賦予動畫效果。額,這不是廢話嗎好的,那整這麼個圖形又有什麼用?還能變出波浪來不成?沒錯!就是這麼神奇。:) 我們讓上面這個圖形滾動起來(rotate) ,看看效果:
  • 《前端5分鐘》之使用純css實現網站換膚和焦點圖切換動畫
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫今天我們來繼續復盤一些工作中常用的css技巧和知識,以便我們可以更加優雅的用css實現富有動感的網站.
  • 如何用純css打造類materialUI的按鈕點擊動畫並封裝成react組件
    正文首先我們看一下materialUI的按鈕點擊效果:本質上也是用了css3動畫的特性, 筆者查看原始碼和通過點擊發現materialUI會根據點擊位置不同而作不同位置的動畫,這個有點意思.我們先不講這麼複雜的例子,下面通過css3的方案來實現一個類似的效果.筆者實現的效果如下:
  • 純css實現循環跑馬燈
    經常在一些抽獎活動頁面看到一些獎池獎品不停循環滾動的場景(比如b站會員購魔力賞的獎品循環),如果用純css實現應該是怎樣的呢?
  • 純 CSS 實現波浪效果
    一直以來,使用純 CSS 實現波浪效果都是十分困難的。因為實現波浪的曲線需要藉助貝塞爾曲線。而使用純 CSS 的方式,實現貝塞爾曲線,額,暫時是沒有很好的方法。先看看,非 CSS 方式實現的波浪效果:使用 SVG 實現波浪效果藉助 SVG ,是很容易畫出三次貝塞爾曲線的。看看效果:
  • 一個在線css三角形生成器
    接下來我們先分析一下用css實現三角形的原理.1.css畫三角形的原理其實筆者在之前的文章中也分享過3種以上的使用css實現三角形的方案, 這裡筆者介紹一個通用的方法, 也就是用border來實現三角形, 我們先來看下面的圖示
  • 用css3實現背景即背景動畫(高級附源碼)
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫我們傳統的前端更多的是用javascript實現各種複雜動畫,自從有了Css3 transition和animation以來,前端開發在動畫這一塊有了更高的自由度和格局,對動畫的開發也越來越容易。
  • 使用HTML DIV+CSS樣式+JavaScript實現自定義個性化的模態窗口
    如果要使一個DIV相對於整個瀏覽器定位,並且是全屏顯示,帶背景色,則可以設置如下CSS樣式:<!}</style></head><body><div></div></body></html>運行一下具有背景色的頁面
  • 如何用一段CSS代碼讓全站變灰
    想到以往默哀日訪問網站時發現整站會變成全灰,即想到如果立即開始開發、設計圖修改等工作也會消耗大量的時間與精力,那會不會有css可以直接處理所有的元素將他們變灰,隨即想到了css3的filter(濾鏡),並也證實了這一想法的可行性。
  • PS基礎教程——半透明素材摳圖技巧
    歡迎關注微信公 眾 號:笑林新記PS版本:PS CC 2019素材:一張背景圖,一張需要摳圖的玻璃杯圖片主要內容:利用正片疊底,曲線等工具實現半透明素材摳圖。選擇一張背景圖片,一張玻璃杯半透明圖片,將玻璃杯圖片格柵化。便於操作。
  • 如何實現該效果?
    我們又該如何實現該效果?一起來看作者的文章吧。 五、怎樣製作玻璃擬態 效果本身是很容易實現的,但是需要考慮兩點: 和任何基於卡片的布局一樣,物體離我們越近,它吸引的光就越多。在這種情況下,意味著它會更透明一些。 整個效果的基礎是陰影、透明度和背景模糊的組合。
  • 前端:用javascript實現一個轉盤小遊戲?
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫本文主要介紹如何使用原生javascript和Css3來實現一個在各大移動應用中經常出現的轉盤遊戲,由於改實現可以有不同方式,如果熟悉canvas的話也可以用canvas實現,本文採用js和css實現主要考慮到複雜度較小性能較好
  • 前端進階:css必知的幾個底層知識和技巧
    一.css尺寸1.首選最小寬度–實現複雜圖形效果在css中,圖片和文字的權重遠大於布局,因此當width:0時表現出來的寬度就是「首選最小寬度」。中文的最小寬度為每個漢字的寬度,西方文字取決於連續的英文字符單元。
  • Python 實現視覺特效:秒變超級賽亞人
    上周六搞了個修煉寫輪眼,利用python代碼定位眼球再貼圖,有點太粗糙。