FLEX
flexの場合はwrapと幅widthで均等分割パーセント指定。<ul> <li><a href="#">Lorem ipsum dolor sit amet elit</a></li> <li><a href="#">ipsum</a></li> <li><a href="#">dolor</a></li> <li><a href="#">sit</a></li> <li><a href="#">amet</a></li> </ul>
flex:左右余白あり、最終行真ん中寄せ
space-aroundにしてもgapをつくるための余白で左右はピッタリにならないul{ display:flex; flex-wrap: wrap; justify-content: space-around; } ul li{ width:50%; padding:5px; }
Lorem ipsum dolor sit amet, consectetur adipisicing elit
ipsum
dolor
sit
amet
flex:左右余白あり、最終行左寄せ
子のpadding分でgapを作り、景色や枠線は孫に入れる。ul { padding: 0; display: flex; flex-wrap: wrap; } ul li{ list-style: none; width:50%;/*分割する割合*/ padding:5px;/*ボックス間marginのようなスペース*/ box-sizing: border-box; } ul li a{ display: block; padding: 10px 15px;/*ボックス内の実際のpadding*/ box-sizing: border-box; height: 100%;/*行数違い対策*/ background:#eee; }
Lorem ipsum dolor sit amet, consectetur adipisicing elit
ipsum
dolor
sit
amet
GRID
左右ピッタリ、最終行左寄せ
ul{
display:grid;
grid-template-columns: 1fr 1fr;/*repeat(2, 1fr)*/
grid-gap: 10px;
}
li{
background:#eee;
padding: 10px 15px;
}
※繰り返し回数を指定する書き方の場合repeatとカッコの間にスペースを入れると動かない
Lorem ipsum dolor sit amet, consectetur adipisicing elit
ipsum
dolor
sit
amet
auto-fitとauto-fillの違いは1行目の扱い方
auto-fit:1行目は常に左右ピッタリ
- 最小幅が100px
- 1行目は必ず左右ぴったり。1行目のボックス最大幅に限界がない
- 最終行は左寄せ
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
Lorem
ipsum
dolor
Lorem
ipsum
dolor
sit
amet
consectetur
adipisicing
auto-fill:1行目は左寄せの左右のピッタリ
- 最小幅が100px
- 1行目のボックスのが足りないときは左寄せ(特定の画面幅以上)
- 最終行は左寄せ
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
Lorem
ipsum
dolor
Lorem
ipsum
dolor
sit
amet
consectetur
adipisicing