repeating-linear-gradient()
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
CSS 彿° repeating-linear-gradient() å建ä¸ä¸ªç±éå¤çº¿æ§æ¸åç»æç <image>ï¼ç±»ä¼¼äº linear-gradient()ï¼å¹¶ä¸éç¨ç¸åçåæ°ï¼ä½æ¯å®ä¼å¨æææ¹åä¸é夿¸å以è¦çå
¶æ´ä¸ªå®¹å¨ãè¿ä¸ªå½æ°çç»ææ¯ <gradient> æ°æ®ç±»åçå¯¹è±¡ï¼æ¤å¯¹è±¡æ¯ä¸ç§ç¹æ®ç <image> ç±»åã
å°è¯ä¸ä¸
background: repeating-linear-gradient(
#e66465,
#e66465 20px,
#9198e5 20px,
#9198e5 25px
);
background: repeating-linear-gradient(45deg, #3f87a6, #ebf8e1 15%, #f69d3c 20%);
background:
repeating-linear-gradient(transparent, #4d9f0c 40px),
repeating-linear-gradient(0.25turn, transparent, #3f87a6 20px);
<section class="display-block" id="default-example">
<div id="example-element"></div>
</section>
#example-element {
min-height: 100%;
}
é夿¸åçé¿åº¦æ¯ç¬¬ä¸ä¸ªè²æ åæåä¸ä¸ªè²æ ä¹é´çè·ç¦»ãå¦æç¬¬ä¸ç§é¢è²æ²¡æè²æ é¿åº¦ï¼åè²æ é¿åº¦é»è®¤ä¸º 0ãæ¯æ¬¡é夿¶ï¼è²æ çä½ç½®é½ä¼ä»¥åºæ¬çº¿æ§æ¸åé¿åº¦çåæ°ç§»å¨ãå æ¤ï¼æ¯ä¸ªç»æè²æ çä½ç½®é½ä¼ä¸èµ·å§è²æ çä½ç½®éåï¼å¦æè²å¼ä¸åï¼å°±ä¼äº§ç鲿çè§è§è¿æ¸¡ãå¯ä»¥éè¿éå¤ç¬¬ä¸ç§é¢è²å¼ä½ä¸ºæåä¸ç§é¢è²å¼æ¥æ¹åè¿ç§æ åµã
ä¸å ¶ä»æ¸å䏿 ·ï¼çº¿æ§é夿¸å没æå å¨å°ºå¯¸ï¼ä¹å°±æ¯è¯´ï¼å®æ²¡æåºææé¦éç尺寸ï¼ä¹æ²¡æé¦éçæ¯ä¾ï¼å ¶å®é 大å°åå³äºæåºç¨çå ç´ ç大å°ã
ç±äº <gradient> å±äº <image> æ°æ®ç±»åï¼å æ¤åªè½ç¨å¨å¯ä»¥ä½¿ç¨ <image> çå°æ¹ãå æ¤ï¼repeating-linear-gradient() å¨background-color 以åå
¶ä»ä½¿ç¨ <color> æ°æ®ç±»åä¸ä¸èµ·ä½ç¨ã
è¯æ³
/* ä¸ä¸ªå¾æ 45 度çéå¤çº¿æ§æ¸åï¼
ä»èè²å¼å§æ¸åå°çº¢è² */
repeating-linear-gradient(45deg, blue, red);
/* ä¸ä¸ªä»å³ä¸è§å°å·¦ä¸è§çéå¤çº¿æ§æ¸åï¼
ä»èè²å¼å§æ¸åå°çº¢è² */
repeating-linear-gradient(to left top, blue, red);
/* ä¸ä¸ªç±ä¸è³ä¸çéå¤çº¿æ§æ¸åï¼
ä»èè²å¼å§ï¼40% åå绿ï¼
æåæ¸åå°çº¢è² */
repeating-linear-gradient(0deg, blue, green 40%, red);
/* ä»å·¦å°å³éå¤äºæ¬¡çæ¸åï¼ä»çº¢è²å¼å§ï¼ç¶åå绿ï¼åååçº¢è² */
repeating-linear-gradient(to right, red 0%, green 10%, red 20%);
å¼
<side-or-corner>-
æ¸å线çèµ·å§ç¹ä½ç½®ã妿æå®äºï¼åå å«
toåä¸¤ä¸ªå ³é®åï¼ä¸ä¸ªæå®æ°´å¹³ä½ç½®ï¼leftærightï¼ï¼å¦ä¸ä¸ªæå®ç«ç´ä½ç½®ï¼topæbottomï¼ãå ³é®åçå åé¡ºåºæ å½±åãå¦ææ²¡ææå®ï¼åé»è®¤ä¸ºto bottomãto topãto bottomãto leftåto rightåå«çä»·äº0degã180degã270degå90degãå ¶ä½å¼ä¼è¢«è½¬æ¢ä¸ºè§åº¦ã <angle>-
æ¸åçº¿çæ¹åçè§åº¦ã
0degçä»·äºto topï¼å¢å å¼ç¸å½äºé¡ºæ¶éæè½¬ã <linear-color-stop>-
è²æ ï¼color stopï¼ç
<color>å¼ï¼ç¶åæ¯ä¸ä¸ªæä¸¤ä¸ªå¯éçè²æ ä½ç½®ï¼æ²¿æ¸åè½´ç<percentage>æ<length>ï¼ãç¾åæ¯å¼0%ï¼æè é¿åº¦å¼0ï¼ä»£è¡¨æ¸åçå¼å§ï¼100%代表 100% çå¾å尺寸ï¼ä¹å°±æ¯è¯´æ¸åä¸ä¼éå¤ã <color-hint>-
é¢è²æç¤ºï¼color-hintï¼æ¯ä¸ç§æå¼æç¤ºï¼å®ä¹äºæ¸åè²å¨ç¸é»è²æ ä¹é´çæ¸åæ¹å¼ãé¿åº¦å®ä¹äºæ¸åè²åºå¨ä¸¤ä¸ªè²æ ä¹é´çåªä¸ªç¹å°è¾¾é¢è²è¿æ¸¡çä¸ç¹ã妿çç¥æ¤å¼ï¼é¢è²è¿æ¸¡çä¸ç¹å°±æ¯ä¸¤ä¸ªè²æ ä¹é´çä¸ç¹ã
夿³¨ï¼CSS æ¸åä¸çè²æ çæ¸²æä¸ SVG æ¸åä¸çè²æ éµå¾ªç¸åçè§åã
å½¢å¼è¯æ³
<repeating-linear-gradient()> =
repeating-linear-gradient( [ <linear-gradient-syntax> ] )
<linear-gradient-syntax> =
[ [ <angle> | <zero> | to <side-or-corner> ] || <color-interpolation-method> ]? , <color-stop-list>
<side-or-corner> =
[ left | right ] ||
[ top | bottom ]
<color-interpolation-method> =
in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? | <custom-color-space> ]
<color-stop-list> =
<linear-color-stop> , [ <linear-color-hint>? , <linear-color-stop> ]#?
<rectangular-color-space> =
srgb |
srgb-linear |
display-p3 |
display-p3-linear |
a98-rgb |
prophoto-rgb |
rec2020 |
lab |
oklab |
<xyz-space>
<polar-color-space> =
hsl |
hwb |
lch |
oklch
<hue-interpolation-method> =
[ shorter | longer | increasing | decreasing ] hue
<custom-color-space> =
<dashed-ident>
<linear-color-stop> =
<color> <color-stop-length>?
<linear-color-hint> =
<length-percentage>
<xyz-space> =
xyz |
xyz-d50 |
xyz-d65
<color-stop-length> =
<length-percentage>{1,2}
<length-percentage> =
<length> |
<percentage>
示ä¾
>æé©¬æ¡çº¹
body {
background-image: repeating-linear-gradient(
-45deg,
transparent,
transparent 20px,
black 20px,
black 40px
);
/* å
æ¬å¤ä¸ªè²æ é¿åº¦ */
background-image: repeating-linear-gradient(
-45deg,
transparent 0 20px,
black 20px 40px
);
}
å个éå¤ç水平线
body {
background-image: repeating-linear-gradient(
to bottom,
rgb(26, 198, 204),
rgb(26, 198, 204) 7%,
rgb(100, 100, 100) 10%
);
}
ç±äºæåä¸ä¸ªè²æ æ¯ 10%ï¼ä¸æ¸åæ¯ç«ç´çï¼å æ¤é夿¸åä¸çæ¯ä¸ªæ¸å齿¯é«åº¦ç 10%ï¼æ£å¥½æ»¡è¶³ 10 个水平线ã
夿³¨ï¼æ´å¤ç¤ºä¾è¯·åè§ä½¿ç¨ CSS æ¸åã
è§è
| è§è |
|---|
| CSS Images Module Level 3> # repeating-gradients> |