MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

这篇翻译不完整。请帮忙从英语翻译这篇文章

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

简介

css的mask-repeat属性定义了mask image是否重复以及如何重复。一个遮罩图片可以水平或垂直重复,或者纵横,或者不重复。

默认情况下,重复的图片会被剪切为图片的大小,但他们可以缩放适应(使用形状)或者从端到端的均匀分布(使用空间)

初始值no-repeat
适用元素all elements; In SVG, it applies to container elements excluding the defs element and all graphics elements
是否是继承属性
适用媒体visual
计算值Consists of two keywords, one per dimension
Animation typediscrete
正规顺序the unique non-ambiguous order defined by the formal grammar

Syntax

/* One-value syntax */
mask-repeat: repeat-x;
mask-repeat: repeat-y;
mask-repeat: repeat;
mask-repeat: space;
mask-repeat: round;
mask-repeat: no-repeat;

/* Two-value syntax: horizontal | vertical */
mask-repeat: repeat space;
mask-repeat: repeat repeat;
mask-repeat: round space;
mask-repeat: no-repeat round;

/* Multiple values */
mask-repeat: space round, no-repeat;
mask-repeat: round repeat, space, repeat-x;

/* Global values */
mask-repeat: inherit;
mask-repeat: initial;
mask-repeat: unset;

Values

<repeat-style>
单值语法是两个值的简写
Single value Two-value equivalent
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
在双值语法中,第一个值代表了水平方向的行为,第二个值代表了垂直方向的行为。下面是每个选项的用法解释:
repeat The image is repeated as much as needed to cover the whole mask painting area. The last image will be clipped if it doesn't fit.
space The image is repeated as much as possible without clipping. The first and last images are pinned to either side of the element, and whitespace is distributed evenly between the images. The mask-position property is ignored unless only one image can be displayed without clipping. The only case where clipping happens using space is when there isn't enough room to display one image.
round As the allowed space increases in size, the repeated images will stretch (leaving no gaps) until there is room for another one to be added. When the next image is added, all of the current ones compress to allow room. Example: An image with an original width of 260px, repeated three times, might stretch until each repetition is 300px wide, and then another image will be added. They will then compress to 225px.
no-repeat The image is not repeated (and hence the mask painting area will not necessarily be entirely covered). The position of the non-repeated mask image is defined by the mask-position CSS property.

Formal syntax

<repeat-style>#

where
<repeat-style> = repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}

Examples

Single value

CSS Content

#masked {
  width: 250px;
  height: 250px;
  background: blue linear-gradient(red, blue);
  mask-image: url(https://mdn.mozillademos.org/files/12676/star.svg);
  mask-repeat: repeat; /* Can be changed in the live sample */
  margin-bottom: 10px;
}

Multiple mask image support

You can specify a different <repeat-style> for each mask image, separated by commas:

.examplethree {
  mask-image: url('mask1.png'), url('mask2.png');
  mask-repeat: repeat-x, repeat-y;
} 

Each image is matched with the corresponding repeat style, from first specified to last.

Specifications

Specification Status Comment
CSS Masking Level 1
mask-repeat
Candidate Recommendation Initial definition

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 1.0-webkit 未实现[1] ? ? 4.0-webkit
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 2.1-webkit 未实现[1] ? ? 3.2-webkit

[1] Gecko currently doesn't implement this feature. It is only available in Nightly and Dev Edition. See bug 1251161.

文档标签和贡献者

 此页面的贡献者: smilewalker
 最后编辑者: smilewalker,