html - 有没有办法对齐 HTML 表格中的列?
问题描述
我正在尝试在 Angular 项目的开头创建一个基本表单,包括一个表格,但我无法让列对齐。
<table>
我已经用 HTML元素的样式尝试了各种排列方式<table>
,<tr>,
,
,
width , 'float' etc., and have tried using vertical bars
`。
我的代码大量借鉴了 W3Schools 页面https://www.w3schools.com/html/tryit.asp?filename=tryhtml_table_intro,所以奇怪的是它没有对齐(不仅列不对齐,而且交替行着色也不起作用)。
<style>
table {
border-collapse: collapse;
width: 5%;
}
td, th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
width: 50%;
}
tr {
width: 100%;
}
tr:nth-child(even) {
background-color: #522a2a;
}
</style>
<form style="margin-left: 2%; margin-right: 2%">
<h3>Form</h3>
<table>
<tr>
<th>Category</th>
<th>Input</th>
</tr>
<div *ngFor="let key of memberKeys">
<tr>
<td>{{key}}</td>
<td><input type="text" [(ngModel)]="member[key]" [ngModelOptions]="{standalone: true}"/></td>
</tr>
</div>
</table>
<button type="submit">Submit</button>
</form>
不知道为什么列不对齐,行不交替背景颜色。非常感谢您的建议!
解决方案
表需要一个div
有效的子元素,例如tr
:
<table>
<tr>[...]</tr>
<div *ngFor="let key of memberKeys">
尝试将 div 移动到另一个位置,以便表行都是同级的。
推荐阅读
- javascript - 如何在 JavaScript 原始字符串中转义反引号?
- spring-mvc - 在spring框架中,如何将参数传递给另一个控制器
- python - 我如何只从我的 DynamoDB 表中返回值?
- html - 调整窗口大小时如何防止导航栏元素重叠?
- aws-amplify - AWS Amplify - 循环下载 JS 文件
- flask - 烧瓶 SocketIO 错误请求 400
- node.js - 在 react 应用中缓存 node_modules 目录
- python - 仅使用 numpy 的多元多元线性回归
- php - 为什么响应总是无效的请求正文?
- google-cloud-platform - 服务帐号的 GCP Cloud Scheduler 权限错误