我有这样的旧经典代码,
<td align="right">
这段代码的作用是:将单元格中的内容右对齐。 因此,如果我在该单元格中放置两个按钮,则它们将出现在单元格的右侧。
我正在将其重构为CSS,但似乎没有类似于右对齐的东西。我看到了text-align,但它是否相同呢?
我有这样的旧经典代码,
<td align="right">
这段代码的作用是:将单元格中的内容右对齐。 因此,如果我在该单元格中放置两个按钮,则它们将出现在单元格的右侧。
我正在将其重构为CSS,但似乎没有类似于右对齐的东西。我看到了text-align,但它是否相同呢?
text-align: right
text-align CSS 属性描述了内联内容(如文本)在其父级块元素中的对齐方式。 text-align 并不控制块元素本身的对齐方式,只控制它们的内联内容。
<td class='alnright'>text to be aligned to right</td>
<style>
.alnright { text-align: right; }
</style>
table tr td:nth-child(2) {
text-align: right;
}
现在对我有用的是:
CSS:
.right {
text-align: right;
margin-right: 1em;
}
.left {
text-align: left;
margin-left: 1em;
}
HTML:
<table width="100%">
<tbody>
<tr>
<td class="left">
<input id="abort" type="submit" name="abort" value="Back">
<input id="save" type="submit" name="save" value="Save">
</td>
<td class="right">
<input id="delegate" type="submit" name="delegate" value="Delegate">
<input id="unassign" type="submit" name="unassign" value="Unassign">
<input id="complete" type="submit" name="complete" value="Complete">
</td>
</tr>
</tbody>
</table>
提供的答案很好地右对齐了单元格中的文本。
当您想要对齐块元素时,这可能不是解决方案,如接受的答案所述。要使用块元素实现这样的效果,我发现利用边距很有用;
selector {
margin: top right bottom left;
}
td > selector {
/* there is a shorthand, TODO! */
margin: auto 0 auto auto;
}
td > selector {
margin: auto auto auto auto;
}
/* or the short-hand */
margin: auto;
td > selector {
margin: auto;
}
或者,如果可以的话,您可以使td
内容显示为inline-block
,但这可能会扭曲其子元素的位置。
text-align
属性适用于按钮和控件以及文本,那么这个属性名称并不是很恰当。也许应该被称为content-align
? - Ben