在表行中垂直写入

时间:2013-01-11 05:21:07

标签: html css

我想在HTML表格中垂直书写。在最后一栏中,我希望文本“时间表”垂直显示。它应该涵盖所有行。像这样:

û

<磷>氮

C

ħ

怎么做? 这是我要创建的表格。

<table style = "border-collapse: collapse"  border = "1px">

  <thead>
    <tr>
    <th colspan="6" align="center"> Time Table </th>
    </tr>


    <tr>
       <th>DAY/TIME</th>
       <th>8-9</th>
       <th>9-10</th>
       <th>10-11</th>
       <th>11-12</th>
      <th rowspan = "6" style="verticle-align: buttom">Lunch Break</th>
     </tr>

    <tr>
      <th>Mon</th>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>

    <tr>
      <th>Tue</th>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>

    <tr>
      <th>Wed</th>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>

    <tr>
      <th>Thu</th>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>

    <tr>
      <th>Fri</th>
      <td></td>
      <td></td>
      <td></td>
      <td></td>
    </tr>


  </thead> 

</table>

3 个答案:

答案 0 :(得分:5)

将午餐时间文本放入div中并应用此css

word-wrap: break-word;width:11px;

看看这个jsfiddle demo

答案 1 :(得分:0)

将id(或类)添加到您想要的垂直文本中,然后添加以下jQuery函数 - 在每个字符后添加换行符:

$(function() {
    var html=$('#verticalText').html();
    var newHtml='';
    for (var i=0;i<html.length;i++) {
        newHtml=newHtml+html[i];
        newHtml=newHtml+'<br/>';
    }
    $('#verticalText').html(newHtml);
});

http://jsfiddle.net/K3Ab2/

(根据Naor的回答改编为:Add line breaks after n numbers of letters in long words

答案 2 :(得分:0)

使用以下HTML代码

<table id="MyTable" style = "border-collapse: collapse"  border = "1px">

          时间表     

<tr>
   <th>DAY/TIME</th>
   <th>8-9</th>
   <th>9-10</th>
   <th>10-11</th>
   <th>11-12</th>
  <th rowspan = "6" id="vertical" style="verticle-align: buttom">Lunch Break</th>
 </tr>

<tr>
  <th>Mon</th>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>

<tr>
  <th>Tue</th>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>

<tr>
  <th>Wed</th>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>

<tr>
  <th>Thu</th>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>

<tr>
  <th>Fri</th>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
</tr>

使用以下CSS

table#MyTable tr th#vertical {
    width: 1.2em;
    white-space: nowrap;
    color: #000;
    /*Firefox*/
    -moz-transform: rotate(-90deg);
    /*Safari*/
    -webkit-transform: rotate(-90deg);
    /*Opera*/
    -o-transform: rotate(-90deg);
    /*IE*/
    writing-mode: tb-rl;
    filter: flipv fliph;
    border:1px black solid;
}

See this link