使用CSS混合模式和SVG來動態更改產品圖片的顏色

佚名發表於2019-10-16

文章主要介紹了使用CSS混合模式和SVG來動態更改產品圖片的顏色,需要的朋友可以參考下。

前兩天在Codepen看到了@Kyle Wetton寫的一個示例, 使用CSS混合模式和SVG來改變沙發的顏色 。非常有意思的一案例。這讓我想起了在實際的一些業務場景中的運用,比如說一些美妝的應用中,就有類似的場景。不知道大家是否想深入的瞭解如何實現這樣的效果?如果是,那麼請繼續往下閱讀。

使用CSS混合模式和SVG來改變沙發顏色案例

下面這個Demo是來自於Codepen上@Kyle Wetton寫的一個效果:

嘗試著改為顏色,你會看到不同的沙發顏色:

是不是很有意思。

其實在實際場景中也有類似的一些效果,比如一些美妝應用:

如果你想了解其中的實現原理或效果,請繼續往下閱讀。

你需要具備的基礎知識

如果希望順利的實現上面示例的效果,那麼需要具備一點點基礎知識。比如CSS的混合模、 SVG 等。

使用CSS的混合模式不同的屬性值,我們可以非常輕意的改變一張圖片的效果:

CSS混合模式還能實現很多其他的效果,這裡就不闡述了。

除此之外,你還需要會點扣圖的技巧。不過這一點,我想對於前端來說應該不是難題。

如何實現給沙發換膚

接下來,我們就實戰一下,先來分析一下@Kyle Wetton的案例。該案例非常簡單,在HTML中有三個部分:

  • 有一坨SVG程式碼,看上去密密麻麻,對於不瞭解SVG的同學肯定會帶來一種恐懼感(親,莫慌)
  • 有一張圖片
  • 有幾個控制元件,可以讓使用者選擇顏色

簡單的分析一下,你看到的一坨SVG程式碼:

<svg id="js-couch" class="couch__overlay" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none" width="1000" height="394">
    <defs>
        <path d="M996.35 77.55q-1.85-1.95-8.65-3.75l-62.4-17.1q-9.3-2.75-12.15-2.5-1.8.15-2

總結

以上所述是小編給大家介紹的使用CSS混合模式和SVG來動態更改產品圖片的顏色,希望對大家有所幫助。

相關文章