我在表格中有表格元素。父表的宽度为 100%,子表的宽度为 300px。我希望孩子居中,所以我尝试使用 css 将其设置为文本对齐:中心;。(https://jsfiddle.net/wrzo7LLb/1/)
<table class="body">
<tr>
<td class="align center"> <!-- CSS text-align: center; -->
<table class="wrapper">
<tr>
<td>
some text
</td>
</tr>
</table>
</td>
</tr>
</table>
但这行不通。然后我尝试了 align="center" 并且确实有效。(https://jsfiddle.net/wrzo7LLb/)
<table class="body">
<tr>
<td align="center"> <!-- align="center" -->
<table class="wrapper">
<tr>
<td>
some text
</td>
</tr>
</table>
</td>
</tr>
</table>
有人可以向我解释为什么align="center"
有效,而text-align: center;
不起作用吗?
我知道我可以设置margin: 0 auto;
,但这并不能解释为什么align="center"
有效而另一个不起作用。
语义(和技术上)讲,text-align
只能用于对齐内联级别元素,而table
不是。
table
上的 align
属性不引用文本,而是引用
<小时 />對齊
此枚举属性指示表必须在包含文档中对齐的方式。
根据上面的table
文档,align
已被弃用,建议您确实使用margin:0 auto;
来"居中"table
元素
使用说明
请勿使用此属性,因为它已被弃用。
<table>
元素应使用 CSS 设置样式。 将margin-left
和margin-right
设置为自动或margin
设置为 0 自动以实现类似于对齐属性的效果。
text-align:center
仅适用于内联元素,显然table
是一个表元素。设置并重试
table table {
display:inline;
}