mask-repeat
Baseline 2023Newly available
Since December 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Please take two minutes to fill out our short survey.
mask-repeat
は CSS プロパティで、マスク画像をどのように繰り返すかを設定します。マスク画像は水平軸、垂直軸、両方の軸で繰り返すか、まったく繰り返さないようにすることができます。
/* 1 つの値の構文 */
mask-repeat: repeat-x;
mask-repeat: repeat-y;
mask-repeat: repeat;
mask-repeat: space;
mask-repeat: round;
mask-repeat: no-repeat;
/* 2 つの値の構文: 水平 | 垂直 */
mask-repeat: repeat space;
mask-repeat: repeat repeat;
mask-repeat: round space;
mask-repeat: no-repeat round;
/* 複数の値 */
mask-repeat:
space round,
no-repeat;
mask-repeat:
round repeat,
space,
repeat-x;
/* グローバル値 */
mask-repeat: inherit;
mask-repeat: initial;
mask-repeat: revert;
mask-repeat: unset;
既定では、繰り返された画像は要素の寸法でクリッピングされますが、 (round
を使用して) 大きさが合うように拡大縮小したり、 (space
を使用して) 端から端まで等分に配分したりすることができます。
構文
1 つ以上の <repeat-style>
値をカンマ区切りで指定します。
値
<repeat-style>
-
単一の値の構文は、2 つの値の構文の一括指定です。
単一の値 同等の 2 つの値 repeat-x
repeat no-repeat
repeat-y
no-repeat repeat
repeat
repeat repeat
space
space space
round
round round
no-repeat
no-repeat no-repeat
2 つの値の構文では、1 つ目の値が水平方向の繰り返しの動作を表し、2 つ目の値が垂直方向の動作を表します。それぞれのオプションが各方向にどのように動作するのかを説明します。
repeat
画像がマスク描画領域全体を埋めるのに必要なだけ繰り返されます。最後の画像は合わない時には切り取られます。 space
画像は切り取られずにできる限り繰り返されます。最初と最後の画像は要素の両端に位置し、画像間に均等に余白が配分されます。 mask-position
プロパティは、1つだけの画像が切り取られずに表示される場合を除いて無視されます。space
を使用して切り取りが発生するのは、1つの画像を表示する十分な大きさがない場合だけです。round
利用できる空間の寸法が拡大した場合、繰り返される画像は (すき間をおかずに) もう一つ追加するだけの余地ができるまで引き伸ばされます。次の画像が追加されるとき、現在の画像は場所を空けるために縮小されます。例えば、元の幅が 260px の画像が3回繰り返されたとき、それぞれの反復の幅は 300px まで拡大する可能性があり、もう一つの画像が追加されると、 225px まで縮小されます。 no-repeat
画像は繰り返されません (また、描画領域のマスクは全体を覆うとは限りません)。繰り返されないマスク画像の位置は mask-position
CSS プロパティで定義されます。
公式定義
初期値 | repeat |
---|---|
適用対象 | すべての要素。 SVG の場合は <defs> 要素やすべてのグラフィック要素を除いたコンテナー要素に適用される |
継承 | なし |
計算値 | 2 つのキーワードから成り、方向ごとに 1 つずつ |
アニメーションの種類 | 離散値 |
形式文法
例
単一のマスクの反復設定
複数のマスク画像の対応
それぞれのマスク画像に異なる <repeat-style>
を、カンマで区切って指定することができます。
.examplethree {
mask-image: url("mask1.png"), url("mask2.png");
mask-repeat: repeat-x, repeat-y;
}
それぞれの画像は最初のものから最後のものに向けて、それぞれの繰り返しスタイルに対応します。
仕様書
Specification |
---|
CSS Masking Module Level 1 # the-mask-repeat |