http://
または https://
でアクセスする環境で試してください。
下記の4枚の画像を用います。1枚は通常画像、ひし形(rhombus)と三角(triangle)はアルファ値を用いた透過画像、最後の1枚はグラデーション画像です。
mask-image は画像、テキスト、背景画像などのコンテンツに対してマスク画像で指定したマスクをかけます。
#img-image { mask-image: url(mask-rhombus.png); }
<img id="img-image" src="green-moss.jpg" alt="Green-moss" width=120 height=80>
mask-size
はマスク画像のサイズ(横幅, 高さ)を指定します。
#img-size { mask-image: url(mask-rhombus.png); mask-size: 30px 20px; }
<img id="img-size" src="green-moss.jpg" alt="Green-moss" width=120 height=80>
mask-repeat
はマスク画像の繰り返しを制御します。
#img-repeat { mask-image: url(mask-rhombus.png); mask-size: 30px 20px; mask-repeat: repeat-x; }
<img id="img-repeat" src="green-moss.jpg" alt="Green-moss" width=120 height=80>
mask-mode
はマスクの透過モードを指定します。
<mask-source>
型であればマスク画像の mask-type
値(デフォルトは luminance
) に従います。マスク画像が <image>
型であればマスク画像のアルファ値でマスクします。デフォルト値。
#img-mode { mask-image: url(mask-gradation.png); mask-mode: luminance; }
<img id="img-mode" src="green-moss.jpg" alt="Green-moss" width=120 height=80>
mask-repeat
はマスク表示の相対位置を指定します。
#img-position { mask-image: url(mask-rhombus.png); mask-size: 30px 20px; mask-repeat: no-repeat; mask-position: 50% 50%; }
<img id="img-position" src="green-moss.jpg" alt="Green-moss" width=120 height=80>
mask-origin
はマスク画像の相対位置の原点を指定します。
mask-origin
を参照してください。
.my-image-box { display: inline-block; background-color: #99f; } .my-image-box img { padding: 10px; margin: 10px; border: 10px solid #9f9; background-color: #f99; } #img-origin-content { mask-image: url(mask-rhombus.png); mask-repeat: no-repeat; mask-origin: content-box; } #img-origin-padding { mask-image: url(mask-rhombus.png); mask-repeat: no-repeat; mask-origin: padding-box; } #img-origin-border { mask-image: url(mask-rhombus.png); mask-repeat: no-repeat; mask-origin: border-box; }
<div class="my-image-box"> <img id="img-origin" src="green-moss.jpg" alt="Green-moss" width=120 height=80> </div> <div class="my-image-box"> <img id="img-origin-content" src="green-moss.jpg" alt="Green-moss" width=120 height=80> </div> <div class="my-image-box"> <img id="img-origin-padding" src="green-moss.jpg" alt="Green-moss" width=120 height=80> </div> <div class="my-image-box"> <img id="img-origin-border" src="green-moss.jpg" alt="Green-moss" width=120 height=80> </div>
mask-clip
はマスク指定時の描画範囲を指定します。
mask-origin
を参照してください。
下記の例ではマスク画像の開始位置はすべて border-box
にしておき、mask-clip
の値のみを変更しています。
mask-clip
は複数のマスクを指定した場合の混合モードを指定します。
下記の2枚のマスクを用います。
#img-composite-add { mask-image: url(mask-rhombus.png), url(mask-triangle.png); mask-composite: add; } #img-composite-subtract { mask-image: url(mask-rhombus.png), url(mask-triangle.png); mask-composite: subtract; } #img-composite-intersect { mask-image: url(mask-rhombus.png), url(mask-triangle.png); mask-composite: intersect; } #img-composite-exclude { mask-image: url(mask-rhombus.png), url(mask-triangle.png); mask-composite: exclude; }
<img id="img-composite-add" src="green-moss.jpg" alt="Green-moss" width=120 height=80> <img id="img-composite-subtract" src="green-moss.jpg" alt="Green-moss" width=120 height=80> <img id="img-composite-intersect" src="green-moss.jpg" alt="Green-moss" width=120 height=80> <img id="img-composite-exclude" src="green-moss.jpg" alt="Green-moss" width=120 height=80>
mask
は上記の mask-*
をまとめて指定します。
#img { /* mask-image: url(mask-rhombus.png); */ /* mask-position: 10px 10px; */ /* mask-size: 120px 80px; */ /* mask-repeat: no-repeat; */ /* mask-origin: border-box; */ /* mask-clip: content-box; */ /* mask-composite: add; */ /* mask-mode: alpha; */ mask: url(mask-rhombus.png) 10px 10px / 120px 80px no-repeat border-box content-box add alpha; }