お世話になっています。
表題の通りリストを横表示させ中央寄せしたときに行頭を揃えることにつまづいています。
リストの縦表示は
css
1.sample { 2 margin: 16px auto; 3 text-align: center; 4 display: block; 5 border: 1px solid #000; 6} 7.sample ul { 8 padding-left: 0; 9 list-style: none; 10 display: inline-block; 11} 12.sample ul li { 13 text-align: left; 14}
こちらの方法で可能ですが横表示のやり方が見つけられませんでした。
該当のソースコード
html
1<div class="sample"> 2 <ul> 3 <li><span>あ</span></li> 4 <li><span>あい</span></li> 5 <li><span>あいう</span></li> 6 <li><span>あいうえ</span></li> 7 ...more 8 </ul> 9</div>
css
1ul { 2 display: flex; 3 flex-wrap: wrap; 4 justify-content: center; 5 text-align: center; 6 list-style: none; 7} 8.sample ul li { 9 width: calc(90% / 2); 10 border: 1px solid #000; 11 /* text-align: left; */ 12}
試したこと
ul li span{
text-align: left;
border: 1px solid #000;
}
などで幅を取ろうとしましたが、そもそも文字列の長さが統一ではないので頓挫しました
わかる方、お力をお貸しいただければ幸いです。よろしくお願いいたします。m(_)m
*追記
リストは4つ固定ではなく縦に3行、4行と続くことが前提です。なおflexでなく、htmlの変更も構いません。ただ1行に2列か3列か、もしくはもっとか(calc(90% / 2)のことろ)は汎用性が必要です。
*回答を1ついただいて。
リスト親要素(ul)は中央寄せして、1行2列だと、左右の余白と中央の余白、この3つがなるべく等間隔になり、その上で行頭が揃うコードを望んでいます。
tomtomtomtomさんの回答だと子要素(li)内でテキストが左寄せになり、右の余白が大きくなり左の余白がなくなります。
求めるものがわかりづらくて申し訳ありません。
回答2件
あなたの回答
tips
プレビュー