ð² CSS Gridãžã§ãã¬ãŒã¿ãŒ
åæ°(columns)ã»è¡æ°(rows)ã»åãšè¡ã®éé(gap)ãæå®ããã ãã§ãCSS Gridã¬ã€ã¢ãŠãã®ã³ãŒããçæããããŒã«ã§ããèšå®ã«å¿ããã°ãªããã®ãã¬ãã¥ãŒããã®å Žã§ç¢ºèªããªããã³ãŒããäœæã§ããŸãã
äœ¿ãæ¹
- åæ°ãšè¡æ°ãå ¥åããŸãã
- åã®éé(column-gap)ãšè¡ã®éé(row-gap)ãå ¥åããŸãã
- ãã¬ãã¥ãŒã確èªããªãããçæãããCSSã³ãŒããã³ããŒããŠäœ¿çšããŸãã
èšç®ã®ä»çµã¿
CSS Gridã¯ãè¡ãšåã®äž¡æ¹ã䜿ã£ãŠèŠçŽ ã䞊ã¹ãã2次å ã®ã¬ã€ã¢ãŠãã®ä»çµã¿ã§ãããã®ããŒã«ã¯ãåæ°ã»è¡æ°ã»ééãæå®ãããšããã¬ãã¥ãŒã§äžŠã³æ¹ã確ãããªãããã³ã³ããçšã®CSSãäœããŸãã ã»grid-template-columns: repeat(3, 1fr) ã¯ãåãå¹ ã®åã3ã€äœããŸã ã»grid-template-rows: è¡ã®é«ã ã»column-gap / row-gap: åã®éãšè¡ã®éã®éé ãfrãã¯ã䜿ããå¹ ïŒééãé€ããæ®ãïŒãåãåãåäœã§ããrepeat(3, 1fr) ãªããæ®ãã®å¹ ã3çåããŸããåæ°ã»è¡æ°ã¯1ã12ã®ç¯å²ã§æå®ã§ããŸãã
èšç®äŸ
3åÃ2è¡ãéé16pxã®å Žå .grid-container { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 1fr); column-gap: 16px; row-gap: 16px; } å¹ 1000px ã®ã³ã³ãããªããéé2ã€åïŒ32pxïŒãé€ãã968pxã3çåãã1åã¯çŽ322.7pxã«ãªããŸãã
䜿çšäžã®æ³šæ
- ç»é¢ã®å¹ ã«åãããŠåæ°ãèªåã§å€ãããå Žåã¯ãgrid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) ã®ãããªæžãæ¹ããã䜿ãããŸãã
- 1æ¹åã«äžŠã¹ãã ããªãFlexboxãè¡ãšåã®äž¡æ¹ãããããããªãGridãåããŠããŸãã
- column-gapãšrow-gapãåãå€ãªããgap: 16px ãš1è¡ã«ãŸãšããŠæžããŸãã
ãããã質å
çæãããã³ãŒãã¯ã©ã®ããããã£ã䜿ã£ãŠããŸãã?
display: gridãgrid-template-columnsãgrid-template-rowsãcolumn-gapãrow-gapãšãããCSS Gridã¬ã€ã¢ãŠãã®åºæ¬çãªããããã£ã䜿çšããŠããŸãã
åãè¡ã®ãµã€ãºãåç以å€ã«ã§ããŸãã?
ãã®ããŒã«ã¯ååã»åè¡ãåçãªå¹ (1fr)ã§çæããŸããç¹å®ã®åã ãå¹ ãå€ãããå Žåã¯ãçæãããgrid-template-columnsã®å€ãæåã§ç·šéããŠãã ãã(äŸ: 1fr 2fr 1fr)ã
IE11ã§ã䜿ããŸãã?
çæãããã³ãŒãã¯æšæºçãªCSS Gridã®èšæ³ã§ããIE11ã¯ç¬èªã®å€ã仿§ã®ã¿ãµããŒãããŠããããã®ããŒã«ãçæããã³ãŒããšã¯äºææ§ããããŸãããã¢ãã³ãã©ãŠã¶ã§ã®å©çšãæ³å®ããŠããŸãã