mask-border

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

mask-border CSS 簡寫屬性允許你在元素的邊框邊緣建立蒙版。

構成屬性

此屬性是以下 CSS 屬性的簡寫:

語法

css
/* 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;

/* Global values */
mask-border: inherit;
mask-border: initial;
mask-border: revert;
mask-border: revert-layer;
mask-border: unset;

<'mask-border-source'>

源影像。參見 mask-border-source

<'mask-border-slice'>

用於將源影像切割成區域的尺寸。最多可指定四個值。參見 mask-border-slice

<'mask-border-width'>

邊框蒙版的寬度。最多可指定四個值。參見 mask-border-width

<'mask-border-outset'>

邊框蒙版距元素外邊緣的距離。最多可指定四個值。參見 mask-border-outset

<'mask-border-repeat'>

定義源影像的邊緣區域如何調整以適應邊框蒙版的尺寸。最多可指定兩個值。參見 mask-border-repeat

<'mask-border-mode'>

定義源影像被視為亮度蒙版還是 alpha 蒙版。參見 mask-border-mode

正式定義

初始值作為簡寫中的每個屬性
應用於所有元素;在 SVG 中,它適用於除 <defs> 元素外的容器元素以及所有圖形元素
繼承性
百分比作為簡寫中的每個屬性
計算值作為簡寫中的每個屬性
動畫型別作為簡寫中的每個屬性
建立層疊上下文

正式語法

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

<mask-border-source> =
none |
<image>

<mask-border-slice> =
[ <number> | <percentage> ]{1,4} fill?

<mask-border-width> =
[ <length-percentage> | <number> | auto ]{1,4}

<mask-border-outset> =
[ <length> | <number> ]{1,4}

<mask-border-repeat> =
[ stretch | repeat | round | space ]{1,2}

<mask-border-mode> =
luminance |
alpha

<image> =
<url> |
<image()> |
<image-set()> |
<cross-fade()> |
<element()> |
<gradient>

<length-percentage> =
<length> |
<percentage>

<image()> =
image( <image-tags>? [ <image-src>? , <color>? ]! )

<image-set()> =
image-set( <image-set-option># )

<cross-fade()> =
cross-fade( <cf-image># )

<element()> =
element( <id-selector> )

<image-tags> =
ltr |
rtl

<image-src> =
<url> |
<string>

<image-set-option> =
[ <image> | <string> ] [ <resolution> || type( <string> ) ]?

<cf-image> =
[ <image> | <color> ] &&
<percentage [0,100]>?

<id-selector> =
<hash-token>

示例

設定基於點陣圖的蒙版邊框

在此示例中,我們將用菱形圖案遮罩元素的邊框。蒙版的來源是一個 90 乘 90 畫素的“.png”檔案,其中包含三個垂直和水平排列的菱形。

The image used for the mask examples on this page. The mask is a transparent square with three rows of three diamonds each. The diamonds are a very light, almost white, shade of grey. The middle part between the diamonds is also solid grey. The parts between the outside of the diamonds and the edge of the image are transparent.

為了匹配單個菱形的尺寸,我們將使用 90 除以 3,即 30,作為將影像切割成角和邊緣區域的值。round 的重複值將使蒙版切片均勻分佈,即沒有裁剪或間隙。

html
<div class="masked">
  This element is surrounded by a bitmap-based mask border! Pretty neat, isn't
  it?
</div>
css
.masked {
  width: 200px;
  background-color: lavender;
  border: 18px solid salmon;
  padding: 10px;

  -webkit-mask-box-image: url("https://mdn.github.io/shared-assets/images/examples/mask-border-diamonds.png")
    30 fill /          /* slice */
    20px /             /* width */
    1px                /* outset */
    round;             /* repeat */

  mask-border:
    url("https://mdn.github.io/shared-assets/images/examples/mask-border-diamonds.png")
    30 fill /        /* slice */
    20px /           /* width */
    1px              /* outset */
    round;           /* repeat */
}

規範

規範
CSS 蒙版模組 Level 1
# the-mask-border

瀏覽器相容性

另見