inset()
åºçº¿
广æ³å¯ç¨
èª 2020å¹´1æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
inset() CSS 彿°å®ä¹äºä¸ä¸ªç©å½¢ï¼å
¶ä½äºåèæ¡çæ¯ä¸è¾¹å
ä¾§çæå®çè·ç¦»å¤ã宿¯ç¨äºå®ä¹ <basic-shape> æ°æ®ç±»åä¹ä¸çåºæ¬å½¢ç¶å½æ°ã
å°è¯ä¸ä¸
clip-path: inset(30px);
clip-path: inset(1rem 2rem 3rem 4rem);
clip-path: inset(20% 30% round 20px);
clip-path: inset(4rem 20% round 1rem 2rem 3rem 4rem);
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element"></div>
</section>
#default-example {
background: #fe9;
}
#example-element {
background: linear-gradient(to bottom right, #f52, #05f);
width: 100%;
height: 100%;
}
è¯æ³
shape-outside: inset(20px 50px 10px 0 round 50px);
å¼
-
<length-percentage>{1,4}- : 彿ä¾äºåä¸ªåæ°æ¶ï¼å®ä»¬åå«è¡¨ç¤ºä»åèæ¡çä¸ä¾§ãå³ä¾§ãä¸ä¾§å左侧åå çåç§»éï¼è¿äºåç§»éå®ä¹äºå åµç©å½¢è¾¹ç¼çä½ç½®ãè¿äºåæ°éµå¾ªè¾¹è·ç®åçè¯æ³ï¼å®å è®¸ä½ å®ä¹å ·æä¸ä¸ªã两个æå个å¼ç insetã
妿ä¸ä¸ªç»´åº¦çä¸å¯¹å åµå¼ç¸å è¶ è¿äºè¯¥ç»´åº¦ç 100%ï¼å两个å¼é½ä¼ææ¯ä¾ç¼©å°ï¼ä½¿å ¶æ»åçäº 100%ãä¾å¦ï¼æ°å¼
inset(90% 10% 60% 10%)çä¸åµå¥ä¸º90%ï¼ä¸åµå¥ä¸º60%ãè¿äºå¼ææ¯ä¾ç¼©å°ä¸ºinset(60% 10% 40% 10%)ãåè¿æ ·ä¸å å«ä»»ä½åºå䏿²¡æshape-marginçå½¢ç¶ä¸ä¼å½±åæ¢è¡ã -
<border-radius>- : å¯éç
<border-radius>åæ°ä½¿ç¨è¾¹æ¡åå¾ç®åè¯æ³ä¸ºå åµç©å½¢å®ä¹åè§ã
- : å¯éç
å½¢å¼è¯æ³
<inset()> =
inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )
<length-percentage> =
<length> |
<percentage>
<border-radius> =
<length-percentage [0,â]>{1,4} [ / <length-percentage [0,â]>{1,4} ]?
示ä¾
>åºæ¬ inset 示ä¾
å¨ä¸é¢ç示ä¾ä¸ï¼æä»¬ä½¿ç¨äºä¸ä¸ª inset() å½¢ç¶æ¥å°å
容æå°æµ®å¨å
ç´ ä¸ãæ´æ¹åç§»å¼ä»¥æ¥çå½¢ç¶å¦ä½ååã
<div class="box">
<div class="shape"></div>
<p>
æ®è¯´ï¼1782 å¹´ 11
æçä¸ä¸ªå¤æï¼å¨æ³å½å°åå®è¯ºå
ï¼æä¸¤å
å¼åå¨å¬æ¥ççç«æï¼çççèéç°è²ççåæ²¿ç宽大ççå±è¢
è¢
åèµ·ãä»ä»¬çåå嫿¯èè¬Â·èå¥è²å°å约ç夫·èå¥è²å°ï¼è䏿¯é 纸工人ï¼ä»¥å¿æç¼å¯èç§°ï¼å¯¹ææç§å¦ç¥è¯åæ°åç°é½æçæµåçå
´è¶£ãå¨é£ä¸ªå¤æââä¸ä¸ªå¼å¾çºªå¿µç夿ââä¹åï¼æ°ä»¥äº¿è®¡ç人é½å¨æ³¨è§çèªå®¶çç«åèµ·ççåï¼å´æ²¡æä»ä¸å¾å°ä»»ä½ç¹å«çå¯åã
</p>
</div>
.box {
width: 400px;
margin: 0 auto;
}
.shape {
float: left;
width: 150px;
height: 100px;
clip-path: inset(45px 50px 15px 0 round 50px);
shape-outside: inset(40px 40px 10px 0 round 50px);
background-color: coral;
border-radius: 20px;
margin: 0;
padding: 20px;
}
è§è
| è§è |
|---|
| CSS Shapes Module Level 1> # funcdef-basic-shape-inset> |
æµè§å¨å ¼å®¹æ§
åè§
- 使ç¨è¯¥æ°æ®ç±»åç屿§ï¼
clip-pathãshape-outside - CSS å½¢ç¶æ¨¡å
- åºæ¬å½¢ç¶æå