2015-11-10 125 views
0

我正在修改混合混合模式屬性以將濾色器應用到圖像上,但它看起來像混合混合模式乘法以不同方式工作Chrome和FF。混合混合模式乘法在FF和Chrome中的工作方式不同

.filter { 
 
    position: relative; 
 
} 
 
.filter::before, 
 
.filter::after { 
 
    position: absolute; 
 
    content: ''; 
 
    height: 100%; 
 
    width: 100%; 
 
    top: 0; 
 
    left: 0; 
 
    display: block; 
 
    z-index: 1; 
 
} 
 
.filter--rise { 
 
    -webkit-filter: brightness(1.2) contrast(0.9) saturate(90%); 
 
    filter: brightness(1.2) contrast(0.9) saturate(90%); 
 
} 
 
.filter--rise::before { 
 
    background: -webkit-radial-gradient(circle, rgba(236, 205, 169, 0.2) 55%, #321E07 100%); 
 
    background: radial-gradient(circle, rgba(236, 205, 169, 0.2) 55%, #321E07 100%); 
 
    mix-blend-mode: multiply; 
 
    opacity: 0.8; 
 
} 
 
.filter--rise::after { 
 
    background: -webkit-radial-gradient(circle, rgba(246, 189, 57, 0.6), transparent 100%); 
 
    background: radial-gradient(circle, rgba(246, 189, 57, 0.6), transparent 100%); 
 
    mix-blend-mode: overlay; 
 
    opacity: 0.6; 
 
}
<figure class="filter filter--rise"> 
 
    <img src="http://i.imgur.com/KQ0U5BL.jpg" alt=""> 
 
    <figcaption>Rise</figcaption> 
 
</figure>

這是結果(左邊是鉻,右邊是FF - 預期結果是FF)。

http://i.imgur.com/ySPTbFN.png

能向我解釋人爲什麼會這樣? (爲什麼只有這種模式,因爲其他模式,如硬燈,覆蓋等工作相同)

+0

我在右側看到Firefox和Chrome的結果。你使用的是什麼版本的Chrome?請記住'mix-blend-mode'是規範的一部分,只有候選推薦狀態。它在[從v41開始的Chrome]中默認啓用(https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode#Browser_compatibility)。 – szupie

+0

我有兩個最新版本(Chrome 46和FF 42) – shelune

回答