前提・実現したいこと
CodeSandBox
display: flexで縦2列横2列になったリストがあります。
リストの中には内容量が可変するテキストとボタンがあります。
ボタンのみ各リスト内での最下部に配置したいです。
ボタンを各リストの最下部に配置することで、隣同士のボタンの位置を揃えたいです。
テキスト量は可変するため、リストにheight
を手動で設定したり、button
をposition: absolute
で浮かせたりはしたくないです。
発生している問題・エラーメッセージ
テキストの直下にボタンが配置されているため、ボタンの位置が隣のリストと揃っていません。
該当のソースコード
html
1 <ul> 2 <li> 3 <dl> 4 <dt>dtaiueo</dt> 5 <dd> 6 <p>ddaiueo</p> 7 <button>button</button> 8 </dd> 9 </dl> 10 </li> 11 <li> 12 <dl> 13 <dt>dtaiueo</dt> 14 <dd> 15 <p>ddaiueo</p> 16 <p>ddaiueo</p> 17 <p>ddaiueo</p> 18 <p>ddaiueo</p> 19 <p>ddaiueo</p> 20 <button>button</button> 21 </dd> 22 </dl> 23 </li> 24 <li> 25 <dl> 26 <dt>dtaiueo</dt> 27 <dd> 28 <p>ddaiueo</p> 29 <p>ddaiueo</p> 30 <p>ddaiueo</p> 31 <button>button</button> 32 </dd> 33 </dl> 34 </li> 35 <li> 36 <dl> 37 <dt>dtaiueo</dt> 38 <dd> 39 <p>ddaiueo</p> 40 <button>button</button> 41 </dd> 42 </dl> 43 </li> 44 </ul>
css
1* { 2 box-sizing: border-box; 3} 4 5body { 6 margin: 0; 7} 8 9ul { 10 list-style: none; 11 width: 500px; 12 margin: 0 auto; 13 border: 1px solid black; 14 padding: 1em; 15 display: flex; 16 flex-wrap: wrap; 17} 18 19li { 20 margin-bottom: 1em; 21 width: calc(50% - 0.25em); 22} 23 24li:nth-of-type(odd) { 25 margin-right: 0.5em; 26} 27 28dl { 29 height: 100%; 30 margin: 0; 31 padding: 1em; 32 background-color: #ddd; 33} 34 35dt { 36 font-size: 1.1em; 37 font-weight: bold; 38 margin-bottom: auto; 39} 40 41dd { 42 margin: auto 0 0 0; 43 height: 100%; 44} 45 46p { 47 margin: 0; 48}
試したこと
buttonに下記のスタイルを設定しました。
css
1button { 2 display:block; 3 height: 100%; 4 margin-top: auto; 5}
回答2件
あなたの回答
tips
プレビュー