mask-border
æéå¯ç¨
æ¤ç¹æ§ä¸å±äºåºçº¿ï¼å 为å®å°æªå¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æã
CSS 屿§ mask-border å
è®¸ä½ å建ä¸ä¸ªç´§è´´å
ç´ è¾¹æ¡è¾¹ç¼ç maskã
è¯¥å±æ§ä¸ºä»¥ä¸å±æ§çç®åï¼mask-border-sourceãmask-border-sliceãmask-border-widthãmask-border-outsetãmask-border-repeat å mask-border-modeãä¸å
¶ä»ç®åç屿§ä¸æ ·ï¼ä»»ä½ä¸ä¸ªæ¼åçå屿§ï¼å°ä¼è¢«è®¾ç½®ä¸ºä»ä»¬çåå§å¼ã
è¯æ³
/* 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'>-
è¯¥å±æ§ä¸ºæºå¾åãåè§
mask-border-source. <'mask-border-slice'>-
å°æºå¾ååå²åçåºåçå°ºå¯¸ï¼æå¤å¯æå®å个å¼ãåè§
mask-border-slice. <'mask-border-width'>-
è¾¹æ¡ mask ç宽度ãæå¤å¯æå®å个å¼ãåè§
mask-border-width. <'mask-border-outset'>-
è¾¹æ¡ mask è·ç¦»å ç´ å¤è¾¹ççè·ç¦»ãæå¤å¯æå®å个å¼ãåè§
mask-border-outset. <'mask-border-repeat'>-
å®ä¹å¦ä½è°æ´æºå¾åçè¾¹ç¼åºå以éåºè¾¹æ¡ mask ç尺寸ãæå¤å¯æå®å个å¼ãåè§
mask-border-repeat. <'mask-border-mode'>-
å®ä¹æ¯å¦å°æºå¾ç设置为æäº®åº¦ maskï¼æè éæåº¦ mask. åè§
mask-border-mode.
å½¢å¼è¯æ³
mask-border =
<'mask-border-source'> ||
<'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? ||
<'mask-border-repeat'> ||
<'mask-border-mode'>
<mask-border-source> =
<'border-image-source'>
<mask-border-slice> =
<'border-image-slice'>
<mask-border-width> =
<'border-image-width'>
<mask-border-outset> =
<'border-image-outset'>
<mask-border-repeat> =
<'border-image-repeat'>
<mask-border-mode> =
luminance |
alpha
<border-image-source> =
none |
<image>
<border-image-slice> =
[ <number [0,â]> | <percentage [0,â]> ]{1,4} &&
fill?
<border-image-width> =
[ <length-percentage [0,â]> | <number [0,â]> | auto ]{1,4}
<border-image-outset> =
[ <length [0,â]> | <number [0,â]> ]{1,4}
<border-image-repeat> =
[ stretch | repeat | round | space ]{1,2}
<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>
示ä¾
>Bitmap
卿¤èä¾ä¸ï¼æä»¬å°ä½¿ç¨é»ç³å¾æ¡æ¥ç»å ç´ æ·»å mask. mask çæºæä»¶æ¯ä¸ä¸ª ".png" æä»¶ï¼å¤§å°ä¸º 90 åç´ * 90 åç´ ï¼ä¸é¢é»ç³åç´å水平交åï¼

HTML
<div id="bitmap">
This element is surrounded by a bitmap-based mask border! Pretty neat, isn't
it?
</div>
CSS
为äºéåºä¸ä¸ªé»ç³ç大å°ï¼æä»¬ä½¿ç¨ 90/3 æè
30ï¼ç¨äºè®¾ç½®å°å¾ååå²è³è¾¹è§ä»¥åè¾¹ç¼åºåçå¼ï¼å¹¶è®¾ç½® repeat 屿§ä¸º round ï¼è¯¥å±æ§ä½¿å¾åçååè´´åï¼ä¾å¦ï¼æ²¡æè£åªå空éã
div {
width: 200px;
background-color: lavender;
border: 18px solid salmon;
padding: 10px;
mask-border: url("mask-border-diamonds.png") 30 / 36px 18px round;
}
ç»æ
è§è
| è§è |
|---|
| CSS Masking Module Level 1> # the-mask-border> |
| åå§å¼ | 该ç®åæå¯¹åºçæ¯ä¸ªå±æ§ï¼
|
|---|---|
| éç¨å ç´ | all elements; In SVG, it applies to container elements excluding the <defs> element and all graphics elements |
| æ¯å¦æ¯ç»§æ¿å±æ§ | å¦ |
| Percentages | 该ç®åæå¯¹åºçæ¯ä¸ªå±æ§ï¼
|
| 计ç®å¼ | 该ç®åæå¯¹åºçæ¯ä¸ªå±æ§ï¼
|
| å¨ç»ç±»å | 该ç®åæå¯¹åºçæ¯ä¸ªå±æ§ï¼
|
| Creates stacking context | æ¯ |