fit-content()
fit-content() 㯠CSS ã®é¢æ°ã§ãæå®ããã寸æ³ã min(æå¤§ãµã¤ãº, max(æå°ãµã¤ãº, 弿°)) ã®å¼ã«å¾ã£ã¦æå¹ãªç¯å²ã®å¯¸æ³ã«åãã¾ãã
試ãã¦ã¿ã¾ããã
grid-template-columns: fit-content(8ch) fit-content(8ch) 1fr;
grid-template-columns: fit-content(100px) fit-content(100px) 1fr;
grid-template-columns: fit-content(40%) fit-content(40%) 1fr;
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One ãã®åã«ã¯å¤ãã®ããã¹ããå
¥ã£ã¦ãã¾ãã</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-gap: 10px;
width: 250px;
}
#example-element > div {
background-color: rgb(0 0 255 / 0.2);
border: 3px solid blue;
text-align: left;
}
ãã®é¢æ°ã¯ CSS ã°ãªããã®ããããã£ã«ããã¦ããã©ãã¯ã®å¯¸æ³ã max-content ã§å®ç¾©ãããæå¤§å¯¸æ³ã¨ auto ã§å®ç¾©ãããæå°å¯¸æ³ã¨ã®éã§ã auto ã¨ä¼¼ãæ¹æ³ï¼ããªãã¡ minmax(auto, max-content)ï¼ã§è¨ç®ãã¾ããã auto ã®æå°å¤ããã大ããå ´åã¯å¼æ°ããã©ãã¯ã®å¯¸æ³ã«ãªãã¨ããç¹ãç°ãªãã¾ãã
max-content ããã³ auto ãã¼ã¯ã¼ãã«ã¤ãã¦ã®è©³ç´°ã¯ã grid-template-columns ãã¼ã¸ãåç
§ãã¦ãã ããã
fit-content() 颿°ã¯ width, height, min-width, min-height, max-width, max-height ã®ã¬ã¤ã¢ã¦ãããã¯ã¹ã®å¯¸æ³ã¨ãã¦ã使ç¨ãããæå¤§å¯¸æ³ã¯ã³ã³ãã³ãã®æå¤§å¯¸æ³ãæå°å¯¸æ³ã¯ã³ã³ãã³ãã®æå°å¯¸æ³ã«ãªãã¾ãã
æ§æ
/* <length> å¤ */
fit-content(200px)
fit-content(5cm)
fit-content(30vw)
fit-content(100ch)
/* <percentage> å¤ */
fit-content(40%)
å¤
<length>-
絶対çãªé·ãã§ãã
<percentage>-
æå®ãããè»¸ã§æå¹ãªç©ºéã«å¯¾ããç¸å¯¾çãªãã¼ã»ã³ãå¤ã§ãã
ã°ãªããããããã£ã§ã¯ãè¡ãã©ãã¯ã«ãããåå ã®ã°ãªããã³ã³ããã¼ã®ã¤ã³ã©ã¤ã³æ¹åã®å¯¸æ³ããã³ã°ãªããã³ã³ããã¼ã®ãããã¯æ¹åã®å¯¸æ³ã®ç¸å¯¾å¤ã§ãããã以å¤ã§ã¯ãæ¸åæ¹åã«å¿ãã¦ã¬ã¤ã¢ã¦ãããã¯ã¹ã®æå¹ãªã¤ã³ã©ã¤ã³æ¹åã®å¯¸æ³ã¾ãã¯ãããã¯æ¹åã®å¯¸æ³ã«å¯¾ããç¸å¯¾å¤ã«ãªãã¾ãã
形弿æ³
<fit-content()> =
fit-content( <length-percentage> )
<length-percentage> =
<length> |
<percentage>
ä¾
>ã°ãªããã«ã©ã ã®å¤§ããã fit-content ã§æå®
HTML
<div id="container">
<div>ã³ã³ãã³ãã®å¹
ã®ã¢ã¤ãã ã</div>
<div>
ããã¹ããå¤ãã¢ã¤ãã ã§ããã³ã³ãã³ããæå¤§å¹
ããåºãããã 300 ãã¯ã»ã«ã§åºå®ããã¦ãã¾ãã
</div>
<div>æè»ãªã¢ã¤ãã </div>
</div>
CSS
#container {
display: grid;
grid-template-columns: fit-content(300px) fit-content(300px) 1fr;
grid-gap: 5px;
box-sizing: border-box;
height: 200px;
width: 100%;
background-color: #8cffa0;
padding: 10px;
}
#container > div {
background-color: #8ca0ff;
padding: 5px;
}
çµæ
仿§æ¸
| Specification |
|---|
| CSS Grid Layout Module Level 2> # funcdef-grid-template-columns-fit-content> |
| CSS Box Sizing Module Level 3> # funcdef-width-fit-content> |
ãã©ã¦ã¶ã¼ã®äºææ§
>css.properties.grid-template-columns.fit-content
css.properties.width.fit-content_function
é¢é£æ å ±
min-contentãã¼ã¯ã¼ãmax-contentãã¼ã¯ã¼ã- CSS ããã¯ã¹ãµã¤ãºè¨å®ã¢ã¸ã¥ã¼ã«
grid-templategrid-template-rowsgrid-template-columnsgrid-template-areasgrid-auto-columnsgrid-auto-rowsgrid-auto-flow- ç·ã«åºã¥ãé ç½®ã使ç¨ããã°ãªããã¬ã¤ã¢ã¦ã
- ã°ãªãããã³ãã¬ã¼ãé å - ã°ãªããå®ç¾©ã®ä¸æ¬æå®