xywh()
Baseline
2024
Newly available
Since January 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
xywh() 㯠CSS ã®é¢æ°ã§ãå
å«ãããã¯ã®å·¦ç«¯ (x) ã¨ä¸ç«¯ (y) ããã®è·é¢ãæå®ããç©å½¢ã®å¹
(w) ã¨é«ã (h) ãæå®ãã¦ç©å½¢ã使ãã¾ãããã㯠<basic-shape> ãã¼ã¿åã®åºæ¬ã·ã§ã¤ã颿°ã§ãã xywh() 颿°ã offset-path ã®ãã㪠CSS ããããã£ã§ä½¿ç¨ããè¦ç´ ãç§»åãããç©å½¢ã®ãã¹ã使ãããã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>å¤ã§æå®ãã¾ããæå°å¤ã¯ 0 ã§ãããæå¤§å¤ã«å¶éã¯ããã¾ããã round <'border-radius'>-
CSS ã®
border-radiusã®ä¸æ¬æå®ããããã£ã¨åãæ§æãç¨ãã¦ãç©å½¢ã®è§ã®ä¸¸ãã®åå¾ãæå®ãã¾ãããã®å¼æ°ã¯ãªãã·ã§ã³ã§ãã
形弿æ³
<xywh()> =
xywh( <length-percentage>{2} <length-percentage [0,â]>{2} [ round <'border-radius'> ]? )
<length-percentage> =
<length> |
<percentage>
<border-radius> =
<length-percentage [0,â]>{1,4} [ / <length-percentage [0,â]>{1,4} ]?
ä¾
>offset-path ã xywh() ã§ä½æ
ä¸è¨ã®ä¾ã§ã¯ã offset-path ããããã£ã¯ xywh() 颿°ã使ç¨ãã¦ãè¦ç´ ï¼ãã®ä¾ã§ã¯ãã¼ã³ã¿ã®ããã¯ã¹ï¼ãç§»åããçµè·¯ã®å³å½¢ãå®ç¾©ãã¦ãã¾ãã xywh() 颿°ã®å¤ãå¤ãã 2 ã¤ã®ç°ãªãã·ããªãªã示ãã¾ããããã¯ã¹å
ã®ç¢å°ã¯ããã¯ã¹ã®å³ç«¯ãæãã¦ãã¾ãã
<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%ã§ããããã¯ã¹å ã®ç¢å°ããç©å½¢ã®ãã¹ã®è§ã®10%æ²ç·ï¼round 10%ã§å®ç¾©ããï¼ä»¥ä¸ã«ç¶ãã¦ãããã¨ã«æ³¨ç®ãã¦ãã ããã xywh()ã®å¹ ã¨é«ãã®ä¸¡æ¹ã®ä¸éã¯ç¡é大ãªã®ã§ããã¹ 2 ã®ç©å½¢ã§é«ãã200%ã«è¨å®ããã¨ãçæãããç©å½¢ã¯å å«ãããããã¯ã® 2 åã®é«ãã«ãªãã¾ããround <'border-radius'>ãæå®ããªãå ´åã®ãããã¯ã¹å ã®ç¢å°ã®è§ã®æ¯ãèãã«æ³¨ç®ãã¦ãã ããã
仿§æ¸
| Specification |
|---|
| CSS Shapes Module Level 1> # funcdef-basic-shape-xywh> |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
inset()颿°rect()颿°clip-pathããããã£offset-pathããããã£<basic-shape>ãã¼ã¿å- CSS ã·ã§ã¤ãã¢ã¸ã¥ã¼ã«
- åºæ¬ã·ã§ã¤ãã®ã¬ã¤ã