如何在固定高度的表格中显示垂直文本?

时间:2013-10-06 16:27:04

标签: html css

我想在表格的标题上显示垂直文字;标题有一个固定的高度。我也希望隐藏溢出。

我的HTML是:

<table border='1px solid black'>
 <thead>
  <tr style='font-weight:bold; color:blue'>
   <td width="60"> Data </td>
   <td width="35"> Voto </td>
   <td width="50"> Tipo </td>
   <td width="10"> I </td>
   <th style="color:red; height:200px; vertical-align:bottom" width="20">
    <span>
      <div style="width:100%;height:100%;overflow:hidden;"> Hi everybody </div>
    </span>
   </th>
   <td> Annotazioni </td>
  </tr>
 </thead>
</table>

我的CSS:

table
    {
        border-collapse:collapse;
        table-layout: fixed;
        width: 400px;
    }      

th span {

      writing-mode: tb-rl;
      filter: flipv fliph;
      -webkit-transform:rotate(-90deg); 
      white-space:nowrap; 
      display:block;
    }

我遇到了一个问题:它只显示垂直文字的几个字母。为什么呢?

您可以在这里看到更好:Example

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

这似乎是一个奇怪的表格布局,我不确定用例。因此,我不确定它需要具有多大的灵活性,但将其添加到th span会修复您的示例:

width: 200px;
text-align: center;
margin-left: -90px;

另外,将vertical-align: middle;添加到其中包含th

http://jsfiddle.net/m7nfU/22/

答案 1 :(得分:0)

删除隐藏其余字母的“Hi Everybody”div上的overflow: hidden

<th style="color:red; height:200px; vertical-align:bottom" width="20">
     <span>
        <div style="width:100%;height:100%;">Hi everybody</div>
     </span>
</th>

然后将vertical-align: middle添加到父<th>,我还需要添加一个负余量,使“Hi Everybody”与中心匹配,因为文本字符串从{{1}开始}。

小提琴http://jsfiddle.net/m7nfU/24/