mask-border - CSS: Cascading Style Sheets 编辑

Experimental

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The mask-border CSS shorthand property lets you create a mask along the edge of an element's border.

Constituent properties

This property is a shorthand for the following CSS properties:

Syntax

/* source | slice */
mask-border: url('border-mask.png') 25;

/* source | slice | repeat */
mask-border: url('border-mask.png') 25 space;

/* source | slice | width */
mask-border: url('border-mask.png') 25 / 35px;

/* source | slice | width | outset | repeat | mode */
mask-border: url('border-mask.png') 25 / 35px / 12px space alpha;

Values

<'mask-border-source'>
The source image. See mask-border-source.
<'mask-border-slice'>
The dimensions for slicing the source image into regions. Up to four values may be specified. See mask-border-slice.
<'mask-border-width'>
The width of the border mask. Up to four values may be specified. See mask-border-width.
<'mask-border-outset'>
The distance of the border mask from the element's outside edge. Up to four values may be specified. See mask-border-outset.
<'mask-border-repeat'>
Defines how the edge regions of the source image are adjusted to fit the dimensions of the border mask. Up to two values may be specified. See mask-border-repeat.
<'mask-border-mode'>
Defines whether the source image is treated as a luminance mask or alpha mask. See mask-border-mode.

Formal definition

Initial valueas each of the properties of the shorthand:
Applies toall elements; In SVG, it applies to container elements excluding the defs element and all graphics elements
Inheritedno
Percentagesas each of the properties of the shorthand:
Computed valueas each of the properties of the shorthand:
Animation typeas each of the properties of the shorthand:
Creates stacking contextyes

Formal syntax

<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>

Examples

Setting a bitmap-based mask border

In this example, we will mask an element's border with a diamond pattern. The source for the mask is a ".png" file of 90 by 90 pixels, with three diamonds going vertically and horizontally:

HTML

<div id="bitmap">This element is surrounded by a bitmap-based mask border! Pretty neat, isn't it?</div>

CSS

To match the size of a single diamond, we will use a value of 90 divided by 3, or 30, for slicing the image into corner and edge regions. A repeat value of round will make the mask slices fit evenly, i.e., without clipping or gaps.

div {
  width: 200px;
  background-color: lavender;
  border: 18px solid salmon;
  padding: 10px;

  /* Prefixed longhand properties currently supported in Chromium
    -webkit-mask-box-image-source: url(https://mdn.mozillademos.org/files/15836/mask-border-diamonds.png);
    -webkit-mask-box-image-slice: 30 fill;
    -webkit-mask-box-image-width: 20px;
    -webkit-mask-box-image-repeat: round;
    -webkit-mask-box-image-outset: 1px;
  */

  /* Prefixed shorthand property currently supported in Chromium */
  -webkit-mask-box-image: url("https://mdn.mozillademos.org/files/15836/mask-border-diamonds.png") /* source */
  30 fill /          /* slice */
  20px /             /* width */
  1px                /* outset */
  round;             /* repeat */

  /* Updated standard shorthand property, not supported anywhere yet */
  mask-border:
    url("https://mdn.mozillademos.org/files/15836/mask-border-diamonds.png")  /* source */
    30 fill /        /* slice */
    20px /           /* width */
    1px              /* outset */
    round;           /* repeat */
}

Result

Specifications

SpecificationStatusComment
CSS Masking Module Level 1
The definition of 'mask-border' in that specification.
Candidate RecommendationInitial definition

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:115 次

字数:13392

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文