对齐表头中的文本

时间:2012-12-21 14:40:39

标签: html html-table

似乎align不适用于 th 元素。这是我的HTML:



<div style="width: 100%; height: 175px; overflow: auto;">
  <table class="grid" id="table">
    <thead>
      <tr>
        <th class="not_mapped_style" style="display: none;" align="center">id</th>
        <th class="not_mapped_style" align="center">DisplayName</th>
        <th align="center">PrimaryEmail</th>
        <th align="center">Age</th>
        <th align="center">Phone</th>
      </tr>
    </thead>
    <caption>Contacts</caption>
    <tbody>
      <tr>
        <td style="display: none;" property_value="0" property_name="id" align="center">0</td>
        <td property_value="rpcuser" property_name="DisplayName" align="center">rpcuser</td>
        <td property_value="admin@domain.com" property_name="PrimaryEmail" align="center">admin@domain.com</td>
        <td property_value="69" property_name="Age" align="center">69</td>
        <td property_value="+722616807" property_name="Hand_Phone" align="center">+18007</td>
      </tr>
    </tbody>
  </table>
</div>
&#13;
&#13;
&#13;

文本对齐对td元素工作正常,但th失败。为什么呢?

8 个答案:

答案 0 :(得分:78)

尝试:

text-align: center;

您可能熟悉HTML align属性(自HTML 5起已停止使用)。 align属性可以与

等标记一起使用
<table>, <td>, and <img> 

指定这些元素的对齐方式。此属性允许您水平对齐元素。 HTML还具有用于垂直对齐元素的valign属性。这也已从HTML5中停止。

这些属性已停止使用CSS来设置HTML元素的对齐方式。

实际上没有CSS对齐或CSS valign属性。相反,CSS具有适用于块级元素的内联内容的text-align,以及适用于内联级别和表格单元格的vertical-align属性。

答案 1 :(得分:19)

尝试使用样式

th {text-align:center}

答案 2 :(得分:16)

尝试在style属性中使用text-align来对齐中心。

<th class="not_mapped_style" style="text-align:center">DisplayName</th>

答案 3 :(得分:2)

如果你想把所有桌子的中心放在一边:
table th{ text-align: center; }

如果您只想将具有确定ID的表格置于中心位置:
table#tableId th{ text-align: center; }

答案 4 :(得分:1)

HTML:

<tr>
    <th>Language</th>
    <th>Skill Level</th>
    <th>&nbsp;</th>
</tr>

CSS:

tr, th {
    padding: 10px;
    text-align: center;
}

答案 5 :(得分:0)

您的代码有效,但它使用弃用的方法来执行此操作。您应该使用CSS text-align属性来执行此操作而不是align属性。即便如此,它必须是您的浏览器或其他影响它的东西。在Chrome中尝试此演示(我必须禁用normalize.css才能使其呈现)。

答案 6 :(得分:0)

HTML5中,以<th>THcontent</th>为中心的最简单,最快捷的方法是添加colspan,如下所示:

<th colspan="3">Thcontent</th> 

如果您的表是三列,这将有效。因此,如果您有一个四列表,请添加{4}的colspan

您可以在我将colspan放入HTML中时,在CSS文件中进一步管理位置。

th { 
    text-align: center; /* Or right or left */
}

答案 7 :(得分:-1)

对我来说,以上都没有。我认为这是因为我在第1级有两个级别的标题和固定的宽度。所以我无法在第2级的相应列中对齐文本。

+---------------------------+
|           lvl 1           |
+---------------------------+
| lvl 2 col a | lvl 2 col b |
+---------------------------+

我必须使用width:auto和text:align-center:

的组合
<th style="width:auto;text-align:center">lvl 2 col a</th>
<th style="width:auto;text-align:center">lvl 2 col b</th>