こんにちは。
Spring Bootについて初学者なので拙いところもあると思いますが、よろしくお願いします。
実現したいこと
Thymeleafで以下のようなレイアウトを実現したいです。
説明すると、A,B共に共通項目でGroupingされたListになっていて、
リストごとに横に並べられ、その中にリストの中のデータが子要素として配置されています。(レイアウトの都合上、画像ではリストの中身は省略しています。)
データの数はリストによって異なるので、横の長さは揃えていますが高さがそれぞれ異なります。
現状はAのListを<th:each>
で列挙してその後BのListを<th:each>
で再び列挙するような書き方にしていますがそれだとうまく実現出来ないので、それ以外にどう書くか、またCSSでどのように再現すればいいかがわかりません。
###コード
再現は出来ていませんが、以前tableを使って書いていたときのhtmlを載せておきます。
HTML
1<div class='text-nowrap'> 2<table class="table table-bordered" > 3 <tr> 4 <td valign="top" th:each="group: ${HogeMap}"> 5 <th:block th:each="item: ${group.value}"> 6 <!-- 中略 --> 7 </th:block> 8 </td> 9 </tr> 10 <tr> 11 <td valign="top" th:each="group: ${FugaMap}"> 12 <th:block th:each="item: ${group.value}"> 13 <!--中略--> 14 </th:block> 15 </td> 16 </tr> 17</table> 18</div>
この場合レイアウトが画像でいう一番データの多いAとBが基準となった升目になるため、データの少ないAやBの要素には大きな空白が存在していました。
以下、現在のソースとそのレイアウトです。
HTML
1<div class='text-nowrap'> 2<div class = "BlockPart" th:each="group: ${HogeMap}"> 3 <th:block th:each="item: ${group.value}"> 4 <!--中略--> 5 </th:block> 6 </div><br> 7 <div class = "BlockPart" th:each="group: ${FugaMap}"> 8 <th:block th:each="item: ${group.value}"> 9 <!--中略--> 10 </th:block> 11 </div> 12</div>
CSS
1.SSPart{ 2 display: inline-block; 3 border-style: solid; 4 }
上の画像の状態から隙間を無くしたい(上方向に詰めたい)です。
何か綺麗な書き方があれば教えてほしいです。よろしくお願いします。
補足情報
Eclipse 2020 Java FullEdition
AmazonCorretto jdk15.0.2_7
SpringBoot 2.4.3
MySQL 8.0.23
Windows10 Pro 20H2
あなたの回答
tips
プレビュー