如何将图标右对齐在表格单元格中?

13

我有一个简单的表格单元格,其中包含文本和图标。我想将文本对齐到左侧,将图标对齐到右侧。我尝试了这样做,但它不起作用。我知道的唯一解决方案是创建另一个 td,在其中放置图标。但我希望文本和图标都在同一个 td 中。

    table {
        border: 1px solid red;
    }

    td {
      border: 1px solid black;
      width: 200px;
    }
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
    <table>
    <tr>
    <td>Text <span align="right"><i class="fa fa-toggle-on"></i></span></td>
      <td>Test</td>
    </tr>
    </table>


1
建议您删除 align="right",因为 HTML 元素的对齐属性已被弃用:w3.org/TR/html401/present/graphics.html#adef-align - benomatis
6个回答

25
尝试使用
style="float:right;"

像这样:

table {
    border: 1px solid red;
}

td {
  border: 1px solid black;
  width: 200px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

<table>
<tr>
<td>Text <span style="float:right;"><i class="fa fa-toggle-on"></i></span></td>
  <td>Test</td>
</tr>
</table>

正如webeno在评论中正确指出的那样,align属性现已被弃用。因此请尽量避免使用它。


2
建议您添加HTML元素的align属性已被弃用的说明:https://www.w3.org/TR/html401/present/graphics.html#adef-align - benomatis
1
@webeno:已更新。谢谢! - Rahul Tripathi
还要注意将“i”包装在“span”周围,否则您的图标将无法垂直对齐。 - Dante

3
如果您希望它们在同一个td中(而不是为图标添加另一个td),您可以尝试这样做:
<td>
  <div style="float:left;width:50%;">I stay at left</div>
  <div style="float:right;width:50%;">And I stay at right</div>
</td>

好的解决方案,我喜欢它。 - Black
我很高兴能够帮忙。 - Atilla Arda Açıkgöz

3

    table {
        border: 1px solid red;
    }

    td {
      border: 1px solid black;
      width: 200px;
    }
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
    <table>
    <tr>
    <td>Text <span ><i class="fa fa-toggle-on pull-right"></i></span></td>
      <td>Test</td>
    </tr>
    </table>

我认为这是最好的方法...


2

只需添加代码即可将图标放置在右侧。

span {
    float: right;
}

你的更新示例:

table {
    border: 1px solid red;
}

td {
  border: 1px solid black;
  width: 200px;
}

td > span {
    float: right;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<table>
<tr>
<td>Text <span><i class="fa fa-toggle-on"></i></span></td>
  <td>Test</td>
</tr>
</table>


1
建议您删除 align="right",因为 HTML 元素的对齐属性已被弃用:w3.org/TR/html401/present/graphics.html#adef-align - benomatis
@Webeno 已完成。谢谢。 - ketan

1

Try This:

<style>
/*If not using bootstrap add this to you css*/
 .pull.right{
   float:right;
 }


 <table width="100%">
  <tr>
  <td>Text <span><i class="fa fa-toggle-on pull-right">      </i></span></td>
  <td>Test</td>
 </tr>
 </table>

1
建议您删除 align="right",因为 HTML 元素的对齐属性已被弃用:w3.org/TR/html401/present/graphics.html#adef-align - benomatis
2
如果他没有pull-right类,这将不起作用。如果他使用的是bootstrap,它可能会起作用,但在这种情况下不会。 - Atilla Arda Açıkgöz

1
在你的 CSS 中添加一个更多的类。
table i.fa{
    float: right;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接