xywh()
åºçº¿
2024
æè¿å¯ç¨
èª January 2024 èµ·ï¼æ¤ç¹æ§å·²å¨ææ°æµè§å¨ä¸å¾å°æ¯æãä½å¨è¾æ§çè®¾å¤ææµè§å¨ä¸å¯è½æ æ³è¿è¡ã
xywh() CSS 彿°ä½¿ç¨ä¸å
å«åºåç左边ç¼ï¼xï¼åé¡¶é¨è¾¹ç¼ï¼yï¼çæå®è·ç¦»ï¼ä»¥åç©å½¢çç¹å®å®½åº¦ï¼wï¼åé«åº¦ï¼hï¼æ¥å建ä¸ä¸ªç©å½¢ã宿¯ <basic-shape> æ°æ®ç±»åçåºæ¬å½¢ç¶å½æ°ãä½ å¯ä»¥å¨ CSS 屿§ä¸ä½¿ç¨ xywh() 彿°ï¼å¦å¨ offset-path ä¸å建å
ç´ ç§»å¨çç©å½¢è·¯å¾ï¼æå¨ clip-path 屿§ä¸å®ä¹è£åªåºåçå½¢ç¶ã
è¯æ³
offset-path: xywh(0 1% 2px 3% round 0 1px 2% 3px);
clip-path: xywh(1px 2% 3px 4em round 0 1% 2px 3em);
å¼
<length-percentage>-
为ç©å½¢ç
xåyåæ æå®<length-percentage>å¼ã <length-percentage [0,â]>-
<length-percentage>å¼ä¸ºæå®ç©å½¢å®½åº¦åé«åº¦çéè´å¼ãæå°å¼å¯ä»¥ä¸ºé¶ï¼æå¤§å¼æ²¡æéå¶ã round <'border-radius'>-
ä¸ CSS
border-radiusç®å屿§ä½¿ç¨ç¸åçè¯æ³æ¥æå®ç©å½¢åè§çåå¾ãæ¤åæ°ä¸ºå¯éåæ°ã
示ä¾
>ä½¿ç¨ xywh() å建åç§»éè·¯å¾
å¨ä¸é¢ç示ä¾ä¸ï¼offset-path 屿§ä½¿ç¨ xywh() 彿°æ¥å®ä¹å
ç´ ï¼æ¬ç¤ºä¾ä¸ä¸ºæ´çº¢è²çåï¼ç§»å¨è·¯å¾çå½¢ç¶ãå±ç¤ºäºä¸¤ç§ä¸åçåºæ¯ï¼æ¯ç§åºæ¯é½å
·æ xywh() 彿°çä¸åçå¼ãçåå
çç®å¤´æåæ¹æ¡çå³è¾¹ç¼ã
<div class="container">
è·¯å¾ 1 ç©å½¢
<div class="path xywh-path-1">â</div>
</div>
<div class="container">
è·¯å¾ 2 ç©å½¢
<div class="path xywh-path-2">â</div>
</div>
.container {
position: relative;
display: inline-block;
width: 200px;
height: 200px;
border: 1px solid black;
margin: 30px;
text-align: center;
}
.path {
width: 50px;
height: 50px;
position: absolute;
background-color: magenta;
animation: move 10s linear infinite;
}
.xywh-path-1 {
offset-path: xywh(20px 20px 100% 100% round 10%);
}
.xywh-path-2 {
offset-path: xywh(20px 30% 150% 200%);
}
@keyframes move {
0% {
offset-distance: 0%;
}
100% {
offset-distance: 100%;
}
}
ç»æ
- è·¯å¾ 1 ç©å½¢ä¸å
å«åºåç左边ç¼åä¸è¾¹ç¼çåç§»é为
20pxã该路å¾ç©å½¢ç尺寸ä¸å å«åºåç尺寸ç¸åï¼å³å®½åº¦ä¸ºå å«åºå宽度ç100%ï¼é«åº¦ä¸ºå å«åºåé«åº¦ç100%ãæ³¨æçåå çç®å¤´å¦ä½æ²¿çç©å½¢è·¯å¾è¾¹è§ä¸ï¼ç±round 10%å®ä¹çï¼10%æ²çº¿ç§»å¨çã - ç±äº
xywh()ä¸å®½åº¦åé«åº¦çä¸é齿¯æ 穷大ï¼å æ¤å¨è·¯å¾ 2 ç©å½¢ä¸å°é«åº¦è®¾ç½®ä¸º200%ä¼ä½¿çæçç©å½¢æ¯å å«çåºåç两åã请注æå½æªæå®round <'border-radius'>æ¶ï¼çåå çç®å¤´å¨è¾¹è§å¤ç表ç°ã
è§è
| è§è |
|---|
| CSS Shapes Module Level 1> # funcdef-basic-shape-xywh> |
æµè§å¨å ¼å®¹æ§
åè§
inset()彿°rect()彿°clip-path屿§offset-path屿§<basic-shape>æ°æ®ç±»å- CSS å½¢ç¶æ¨¡å
- åºæ¬å½¢ç¶æå