前提・実現したいこと
table-row、table-cellでtableを組み、table-rowの1行まるごとをcheckboxのlabelとして機能させ、tableのデザインもきれいに保持したい。
発生している問題・エラーメッセージ
table-row、table-cellでtableの見た目は作成できているが、
table-rowの中にlabelを入れると、
table-rowの1行まるごとをcheckboxのlabelの機能は実行できているが、
tableデザインが崩れてしまう。
該当のソースコード
下記の通りのテーブルデザインだとtableの見た目は作成できています。
html <div class="table"> <div class="row"> <div class="cell">項目1</div> <div class="cell">項目2</div> <div class="cell">項目3</div> <div class="cell">項目4</div> </div> <div class="row"> <div class="cell">項目1</div> <div class="cell">項目2</div> <div class="cell">項目3</div> <div class="cell">項目4</div> </div> <div class="row"> <div class="cell">項目1</div> <div class="cell">項目2</div> <div class="cell">項目3</div> <div class="cell">項目4</div> </div> <input type="checkbox" id="test01"> <input type="checkbox" id="test02"> <input type="checkbox" id="test03"> </div>
css .table { display: table; width: 100%; } .table label { display: block; width: 100%; height: 100%; } .table div.row { display: table-row; width: 100%; } .table div.cell { display: table-cell; background: #eca4a4; width: 25%; }
以下のようにlabelを入れるとtableデザインが崩れてしまう。
html <div class="table"> <div class="row"> <label for="test01"> <div class="cell">項目1</div> <div class="cell">項目2</div> <div class="cell">項目3</div> <div class="cell">項目4</div> </label> </div> <div class="row"> <label for="test02"> <div class="cell">項目1</div> <div class="cell">項目2</div> <div class="cell">項目3</div> <div class="cell">項目4</div> </label> </div> <div class="row"> <label for="test03"> <div class="cell">項目1</div> <div class="cell">項目2</div> <div class="cell">項目3</div> <div class="cell">項目4</div> </label> </div> <input type="checkbox" id="test01"> <input type="checkbox" id="test02"> <input type="checkbox" id="test03"> </div>
試したこと
labelにdisplay:blockを入れる、labelの位置を<div class="row">の外側に置くなどしてみたが、何も解決できなかった。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/23 06:32