【发布时间】:2021-05-18 09:29:40
【问题描述】:
我想用flexbox 元素替换table。
基本上由此而来:
<table>
<tr>
<td>row_1.col_1</td>
<td>row_1.col_2</td>
</tr>
<tr>
<td>row_2.col_1.with_longer_content</td>
<td>row_2.col_2</td>
</tr>
</table>
到这里:
<div>
<div>
<div>row_1.col_1</div>
<div>row_1.col_2</div>
</div>
<div>
<div>row_2.col_1.with_longer_content</div>
<div>row_2.col_2</div>
</div>
</div>
在表格的情况下,第一行的第一个单元格将扩大宽度,以便第二个单元格 row_1.col_2 将与其下方的单元格正确对齐 row_2.col_2
-------------------------------------------------
| row_1.col_1 | row_1.col_2 |
| row_2.col_1.with_longer_content | row_2.col_2 |
-------------------------------------------------
我怎样才能对 div 做同样的事情,使用 flexbox,以便第一列占用最少的宽度,但第二列仍然对齐?
这可能吗?
我之所以要这样做是因为我希望每一行都是 Quasar q-card,但其中的元素应该与上面和下面的卡片对齐,但仍然占用最少的空间而不是通过“12 列”网格系统控制宽度。
基本上像这样,我需要将徽章和输入对齐,就好像它是一张桌子一样(我不能使用q-table,而且——由于使用了UMD——也不是q-markup-table) :
<q-card>
<q-card v-for='element in elements'>
<q-badge>{{element.badge}}</q-badge>
<q-input v-model='element.text'></q-input>
</div>
</div>
【问题讨论】:
-
如果你想让 div 表现得像一个表格,为什么不使用显示表格而不是 flex 呢?另外,如果是表格数据,有什么理由删除表格?
标签: html css html-table flexbox quasar-framework