html - 我希望表格单元格宽度为自动。它应该只占用单元格中文本的空间
问题描述
我试图使每行的单元格大小只占用与文本一样多的空间,并且不想固定每个单元格的宽度。我使用了一个表格组件(React Bootstrap)并隐藏了边框。
到目前为止我的代码:
<Table responsive bordered>
<tbody>
<tr>
<th>AWS Certified Solutions Architect</th>
<td>
<Badge variant="info">EC2</Badge>
</td>
<td>
<Badge variant="info">Serverless</Badge>
</td>
<td>
<Badge variant="info">CI/CD</Badge>
</td>
<td>
<Badge variant="info">VPC</Badge>
</td>
</tr>
<tr>
<th>Front-End</th>
<td>
<Badge variant="info">React</Badge>
</td>
<td>
<Badge variant="info">Jest/Enzyme</Badge>
</td>
<td>
<Badge variant="info">HTML</Badge>
</td>
<td>
<Badge variant="info">CSS</Badge>
</td>
<td>
<Badge variant="info">Bootstrap</Badge>
</td>
</tr>
</tbody>
</Table>
CSS:
table,
tr,
th,
td {
border: none !important;
}
解决方案
table,
tr,
th,
td {
border: none !important;
padding: 4px;
}
badge {
background: red;
border-radius: 8px;
padding: 0.5em;
display: block;
text-align: center;
}
<Table responsive bordered>
<tbody>
<tr>
<th>AWS Certified Solutions Architect</th>
<td>
<Badge variant="info">EC2</Badge>
</td>
<td>
<Badge variant="info">Serverless</Badge>
</td>
<td>
<Badge variant="info">CI/CD</Badge>
</td>
<td>
<Badge variant="info">VPC</Badge>
</td>
</tr>
<tr>
<th>Front-End</th>
<td>
<Badge variant="info">React</Badge>
</td>
<td>
<Badge variant="info">Jest/Enzyme</Badge>
</td>
<td>
<Badge variant="info">HTML</Badge>
</td>
<td>
<Badge variant="info">CSS</Badge>
</td>
<td>
<Badge variant="info">Bootstrap</Badge>
</td>
</tr>
添加display: block
到徽章应该可以工作。
推荐阅读
- r - 基于列向量的匹配
- javascript - 在 react-table-2 的同一列中显示名字和姓氏
- angular - 主从角度材质示例
- node.js - 如何使用 cPanel 在 GoDaddy VPS 上部署 Node JS 应用程序?一步一步的过程将受到高度赞赏
- hibernate - Hibernate:当没有物理列或值用于区分实例时,鉴别器列如何工作?
- jquery - 如何对数据表进行排序(bDestroy)并添加合并单元格功能
- reactjs - 如何更改箭头并在反应选择中放置一个三角形而不是它,当悬停改变颜色时?
- reactjs - 如何从 Chrome 开发工具源中隐藏代码?
- java - 我应该如何在现有父级的基于一对多注释的映射中执行更新操作?
- javascript - 避免使用带有 React+Redux 的 array.map 重新渲染组件