Answers:
用
text-align: right
text-align CSS属性描述了如何在其父块元素中对齐内联内容(如文本)。text-align不控制块元素本身的对齐,仅控制其内联内容。
看到
<td class='alnright'>text to be aligned to right</td>
<style>
.alnright { text-align: right; }
</style>
text-align
适用于按钮,控件以及文本,则其名称不是很好。也许应该这样称呼它content-align
?
现在对我有用的是:
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>
请参见以下小提琴:
不要忘记CSS3的'nth-child'选择器。如果您知道希望将文本右对齐的列的索引,则只需指定
table tr td:nth-child(2) {
text-align: right;
}
如果桌子很大,可以为您节省很多额外的标记!
这是你的小提琴.... https://jsfiddle.net/w16c2nad/
td
单元格中放置块元素提供的答案在将td
单元格中的文本右对齐方面做得很好。
当您要按照接受的答案中的注释对齐块元素时,这可能不是解决方案。为了实现这种效果,我发现利用边距很有用。
selector {
margin: top right bottom left;
}
td {
/* there is a shorthand, TODO! 🙂 */
margin: auto 0 auto auto;
}
td {
margin: auto auto auto auto;
}
/* or the short-hand */
margin: auto;
td {
margin: auto;
}
另外,如果可以的话,也可以使td
内容显示inline-block
,但是这可能会扭曲其子元素的位置。