首頁  >  文章  >  web前端  >  CSS實現遮罩mask功能

CSS實現遮罩mask功能

巴扎黑
巴扎黑原創
2018-05-17 14:29:345342瀏覽

前面的話

  CSS遮罩是2008年4月由蘋果公司加入到webkit引擎中的。遮罩提供一種基於像素級別的,可以控制元素透明度的能力,類似於png24位元或png32位元中的alpha透明通道的效果。本文將詳細介紹CSS遮罩mask

概述

影像是由rgb三個通道以及在每個像素上定義的顏色組成的。但在他們之上還有第四個通道,alpha通道,透過亮度定義每個像素上的透明度。白色意味著不透明,黑色意味著透明,介於黑白之間的灰色表示半透明。著作權歸作者所有。

  遮罩mask的功能就是使用透明的圖片或漸變遮罩元素的背景。於是,遮罩mask與背景background非常類似,除了沒有color子屬性,背景background剩下的6個子屬性,mask都有

  遮罩mask是一個複合屬性,包括mask-image、mask- mode、mask-repeat、mask-position、mask-clip、ma​​sk-origin、mask-size、mask-composite這8個屬性

  [注意]IE瀏覽器不支持,webkit核心的瀏覽器(包括chrome、safari、IOS、android)需要添加-webkit-前綴。特別注意的是,firefox瀏覽器也支援webkit-mask屬性

【mask-image】

  預設值為none,值為透明圖片,或透明漸層

【mask-repeat】

  預設值為repeat,可選值與background-repeat相同,詳細情況移步至此

【mask-position】

  預設值為0 0,可選值與background-position相同,詳細情況移步至此

【mask-clip】

#  預設值為border-box,可選值與background-clip相同,詳細情況移步至此

【mask-origin】

  預設值為border-box,可選值與background-origin相同,詳細情況移步至此

【mask-size】

  預設值為auto,可選值與background-size相同,詳細情況移步至此

【mask-mode】

  預設值為match-source,可選值為alpha、luminance、match-source,或它們的組合

【mask-composite】

  預設值為add,可選值為add、subtract、 intersect、exclude

  [注意]只有firefox支援mask-mode和mask-composite

範例

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>.wrap{position:absolute;width: 400px;border:1px solid black;}#mask{height: 300px;background:url() lightblue;-webkit-mask:  url() no-repeat;animation: 2s maskPosition infinite alternate ;}#mask:hover{animation: none;}@keyframes maskPosition{0%{-webkit-mask-position:0 0;}100%{-webkit-mask-position:100% 100%;}}</style></head><body><p class="wrap"><p id="mask"></p>    </p><script>var oBox = document.getElementById('mask');
oBox.onmousemove = function(e){
    e = e || event;
    oBox.style.WebkitMaskPosition=(e.clientX-50)+"px "+ (e.clientY-50)+"px";
}    
</script></body></html>

  

以上是CSS實現遮罩mask功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:CSS命名規則下一篇:CSS命名規則