CSS fit-content ãã¼ã¯ã¼ã
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2021å¹´11æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
fit-content ã¯ãµã¤ãºæå®ãã¼ã¯ã¼ãã§ãã³ã³ããã¼å
ã§ã³ã³ãã³ãã«åããã¦è¦ç´ ã®ãµã¤ãºã調æ´ããããã¨ã表ãã¾ãã
ãã®ãã¼ã¯ã¼ãã使ç¨ããã¨ãè¦ç´ ã®ãµã¤ãºãããã®æå°å
å¨ãµã¤ãº (min-content) ãä¸åã£ãããæå¤§å
å¨ãµã¤ãº (max-content) ãä¸åã£ãããããã¨ããªããªãã¾ãã
ã¡ã¢:
ãã®ãã¼ã¯ã¼ãã¯ãfit-content() 颿°ã¨ã¯ç°ãªãã¾ãããã®é¢æ°ã¯ãã°ãªãããã©ãã¯ã®ãµã¤ãºæå®ï¼ä¾ãã° grid-template-columns ã grid-auto-rows ãªã©ï¼ããwidthãheightã min-widthãmax-height ãªã©ã®ããããã£ã«å¯¾ããã¬ã¤ã¢ã¦ãæ¸ã¿ããã¯ã¹ã®ãµã¤ãºæå®ã«ä½¿ç¨ããã¾ãã
æ§æ
/* ãµã¤ãºæå®ããããã£å
ã§ä½¿ç¨ */
width: fit-content;
height: fit-content;
inline-size: fit-content;
block-size: fit-content;
解説
ãã®ãã¼ã¯ã¼ãã¯ãwidthãheightãblock-sizeãinline-sizeã min-widthãmax-width ãªã©ã®ãµã¤ãºæå®ããããã£ã¨çµã¿åããã¦ä½¿ç¨ããã¾ãããããã®ããããã£ã§ä½¿ç¨ããã¦ããå ´åãè¨ç®ããããµã¤ãºã¯è¦ç´ ã®ã³ã³ãã³ãããã¯ã¹ãåç
§ãã¾ãã
fit-content ãè¨å®ããã¦ããå ´åãè¦ç´ ã¯ã³ã³ãã³ãã«åããã¦æ¡å¤§ã¾ãã¯ç¸®å°ãã¾ãããé¢é£ãã辺ã®ãµã¤ãºãã³ã³ããã¼ã®ãµã¤ãºå¶éã«éããã¨ããã以ä¸ã®æ¡å¤§ã¯åæ¢ãã¾ãã
fit-content ã®ãµã¤ãºã¯ã次ã®å¼ãç¨ãã¦è¨ç®ããã¾ãã
min(max-content, max(min-content, stretch))
ããã§ãstretch ã¯ãè¦ç´ ã®ãã¼ã¸ã³ããã¯ã¹ãããã®å
å«ãããã¯ã®å¹
ã«ä¸è´ãã¾ãããã®ãã¼ã¯ã¼ãã¯ãæ¬è³ªçã« fit-content(stretch) ã¨åçã§ãã
interpolate-size ããããã£ã¨ calc-size() 颿°ã使ç¨ããã¨ãfit-content ã¨ã®éã§ã¢ãã¡ã¼ã·ã§ã³ããããã¨ãã§ãã¾ãã
ä¾
>fit-content ã使ç¨ãã¦ããã¯ã¹ã®å¤§ãããæå®
HTML
<div class="container">
<div class="item">ã¢ã¤ãã </div>
<div class="item">ãã£ã¨ããã¹ãã®å¤ãã¢ã¤ãã ã</div>
<div class="item">
ããã¹ããå¤ãæã¤ã¢ã¤ãã ãã§ããã ãå¤ãã®ããã¹ãã追å ããã®ã§ãããã¹ããæãè¿ãå§ãããã¨ãæå¾
ãã¦ãã¾ãã
</div>
</div>
CSS
.container {
border: 2px solid #cccccc;
padding: 10px;
width: 20em;
}
.item {
width: fit-content;
background-color: #8ca0ff;
padding: 5px;
margin-bottom: 1em;
}
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Box Sizing Module Level 4 > # valdef-width-fit-content > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- é¢é£ãã大ããã®ãã¼ã¯ã¼ã:
min-content,max-content - CSS ããã¯ã¹ãµã¤ãºæå®ã¢ã¸ã¥ã¼ã«