日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
CSS中的混合模式,制作高級特效的必備技巧

本文轉(zhuǎn)載自微信公眾號「大遷世界」,轉(zhuǎn)載本文請聯(lián)系大遷世界公眾號。

我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、太康ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的太康網(wǎng)站制作公司

什么是混合?

根據(jù)維基百科:

數(shù)字圖像編輯和計算機圖形中的混合模式(或混合模式)用于確定兩個圖層如何相互混合。在大多數(shù)應(yīng)用程序中,默認的混合模式只是通過用頂層的內(nèi)容覆蓋底層來隱藏底層。

在CSS中,有兩個屬性負責(zé)混合。mix-blend-mode用于混合DOM元素,background-blend-mode用于組合多個CSS背景。

一、進入mix-Blend-Mode

1. 基礎(chǔ)范例

我們以一個基本的例子來看一下它是如何工作的。我的標(biāo)題上方有一個圓圈。我要做的是將文本與圓混合。

「HTML」

 
 
 
 
  • Blend Me

  • 「CSS」

    為文本元素添加了mix-blend-mode: overlay,從而將其與圓混合。

    事例源碼:

    https://codepen.io/shadeed/pen/a9c6751c0b99d3dbb04fd9514433e09e?editors=0100

    2. 帶文字的圖片

    我認為這是一個廣泛使用的混合模式。文字在上面,圖片在下面。

    在標(biāo)題中添加了以下內(nèi)容:

     
     
     
     
    1. .hero-title {
    2.     color: #000;
    3.     mix-blend-mode: overlay;
    4. }

    不僅僅是改變混合模式。例如,我們可以通過創(chuàng)建動畫來提高創(chuàng)意。

    在此示例中,我想探討文本如何與樹葉背景融合。由于圖像中包含暗點和亮點,因此在使文本看起來像在每片葉子下移動一樣,這將起到非常有用的作用。

    事例源碼:

    https://codepen.io/shadeed/pen/ef8d675755fde8087d9439b5593e1956?editors=0100

    3. 帶有SVG圖形的文本

    個有趣的效果是在帶有矢量和形狀的背景上有一個標(biāo)題。當(dāng)形狀的顏色不同時,它會變得更加有趣。

    我們能用這些斑點形狀做什么?我使用MorphSVG插件改變每個博客形狀的路徑。這產(chǎn)生了一個有趣的結(jié)果。

    事例源碼:

    https://codepen.io/shadeed/pen/daa6d51bfec15e3cbaef12e8387c97f3?editors=0010

    4. 混合真實元素

    吸引我眼球的效果是當(dāng)元素有白色背景和黑色前景使用`mix-blend-mode: screen``。

    5. 放大鏡類

    我使用了SVG,并對其應(yīng)用了以下內(nèi)容。注意使用屏幕時黑色區(qū)域如何變?yōu)橥该鳌?/p>

    事例源碼:

    https://codepen.io/shadeed/pen/4d309070bd3855c1b87a955ac2cec95e?editors=0100

    6. 視頻封面

    對我來說,這是一個非常有用的用例。我經(jīng)常需要添加播放圖標(biāo)以指示文章中有視頻,因此我最終使用了從中心透明的SVG。

    這聽起來似乎正確,但有一定局限性。如果要添加懸停效果以填充三角形怎么辦?由于在SVG中減去了形狀,因此這是不可能的。一種解決方法是在SVG后面放置一個圓圈,并在懸停時對其進行著色。

    對我來說,這還不夠。我也想反過來,三角形必須是白色的,其余的是藍色的。

    多虧了混合模式,我可以通過在懸停時控制嵌入式SVG快速實現(xiàn)改效果。

     
     
     
     
    1. .article__play {
    2.     mix-blend-mode: screen;
    3. }
    4. .article:hover .article__play {
    5.     mix-blend-mode: normal;
    6. }
    7. .article:hover .article__play {
    8.     .play__base {
    9.       fill: #005FFF;
    10.     }
    11.     
    12.     .play__icon {
    13.       fill: #fff;
    14.     }
    15. }

    事例源碼:

    https://codepen.io/shadeed/pen/e06735fd2d2fd707a37f2c4804379342?editors=0100

    7. 儲值卡

    另一種情況是使用裁切圖像并將其與其下方的背景融合,結(jié)果非常有趣。

     
     
     
     
    1. img {
    2.     position: absolute;
    3.     right: -15px;
    4.     top: 0;
    5.     width: 110px;
    6.     mix-blend-mode: screen;
    7. }

    這個想法是把圖片放在右邊,左邊有標(biāo)題和描述。

    同樣,通過為每張卡添加多個背景可以更好:

    事例源碼:

    https://codepen.io/shadeed/pen/a30f4ac9af6c6ec87a30f63deb2fc2c5?editors=1000

    8. 從徽標(biāo)背景中刪除白色

    我在Photoshop的早期就知道這個技巧。有時,我需要一個品牌的標(biāo)志,它是很難得到一個透明的PNG版本。使用混合模式,這很容易解決。

    我模擬了Facebook和Amazon徽標(biāo),并在每個徽標(biāo)下添加了白色背景。

    5a1d791c39202c95ec5.jpg" target="_blank">5a1d791c39202c95ec5.jpg" width="auto" border="0" height="auto" alt="" title="">

    現(xiàn)在來解決這個問題,添加了以下CSS:

     
     
     
     
    1. img {
    2.     mix-blend-mode: multiply;
    3.     filter: contrast(2);
    4. }

    注意,我添加了filter: contrast(2)來增加徽標(biāo)的對比度。應(yīng)用混合效果使他們比原來的顏色深一點。

    問題已解決!當(dāng)然,我不建議使用此功能。但是,如果我被迫這么做,我將使用它來節(jié)省時間,當(dāng)原始徽標(biāo)到達時,我可以替換它并消除混合效果。

    事例源碼:

    https://codepen.io/shadeed/pen/c8d0b773adf24901319794bda90d6a4e?editors=0100

    9. Isolation

    isolation CSS屬性定義該元素是否必須創(chuàng)建一個新的層疊上下文(stacking context)。

    該屬性的主要作用是當(dāng)和background-blend-mode屬性一起使用時,可以只混合一個指定元素棧的背景:它允許使一組元素從它們后面的背景中獨立出來,只混合這組元素的背景。

    「html」

     
     
     
     
    1.   CSS is Awesome

    「css」

     
     
     
     
    1. div {
    2.   isolation: isolate; /* Creates a new stacking context */
    3. }
    4. span {
    5.     mix-blend-mode: difference;
    6. }

    如你所見,文本“ CSS很棒”僅在其父代的邊界內(nèi)融合。外面的東西不會混在一起。換句話說,它是孤立的。

    事例源碼:

    https://codepen.io/shadeed/pen/3b84bf8730ae27563f983e036f96aacb?editors=1100

    isolation 可以通過使用創(chuàng)建新的堆棧上下文的屬性來實現(xiàn)。例如,如果父元素具有opacity 屬性,這將影響結(jié)果。

    「html」

     
     
     
     
    1.   

    「css」

     
     
     
     
    1. div {
    2.   opacity: 0.99; /* Creates a new stacking context, which result to an isolated group */
    3. }
    4. img {
    5.   mix-blend-mode: difference;
    6. }

    事例源碼:

    https://codepen.io/shadeed/pen/b6fcced3fba405846b2e93779282f3cb?editors=0100

    二、進入Background-Blend-Mode

    它的工作方式類似mix-blend-mode,但具有多個背景圖像。每個背景可以有自己的混合模式,舉個例子。

    在此示例中,將三層混合在一起:基礎(chǔ)圖像,實心填充(Solid Fill)和漸變填充(radient Fill.)。

     
     
     
     
    1. .elem {
    2.     background: linear-gradient(45deg, #000 10%, transparent),
    3.               linear-gradient(#3754C7, #3754C7),
    4.               url(nature.jpg);
    5.   background-size: cover;
    6.   background-blend-mode: overlay, color;
    7. }

    在CSS中,應(yīng)該以正確的方式對每個背景進行排序。堆疊順序從上到下,如上圖所示。

    事例源碼:

    https://codepen.io/shadeed/pen/b4351fd10c5ff1e0a5b210f87c1040cd?editors=1100

    1. 著色圖像

    通過使用徑向梯度,有一些有趣的結(jié)果比有用。這個想法是添加一個彩色的圖像,使它與它混合。

     
     
     
     
    1. :root {
    2.   --color: #000;
    3.   --size: 250px; /* Gradient Size */
    4. }
    5. .elem-1 {
    6.   background: radial-gradient(circle var(--size) at center, transparent, var(--color)),
    7.               url(nature.jpg);
    8. }

    通過對元素應(yīng)用background-blend-mode: color,結(jié)果是圖像的去飽和版本。

    事例源碼:

    https://codepen.io/shadeed/pen/3779d5b0ab6e013487638492573739f8

    2. 「瀏覽器支持」


    網(wǎng)頁標(biāo)題:CSS中的混合模式,制作高級特效的必備技巧
    文章位置:http://www.5511xx.com/article/cdgpihj.html