2012-04-11 101 views
3

如果在第二次DIV/SPAN文字是足够长的时间,则第一个div/SPAN停留在上角。但是如果第二个div/span没有任何内容,那么第一个div/span位于td的中间。如何让文字留在td ALWAYS的左上角?

我使用IE 8

HTML摘录日历

<table id="calendar"> 
    <thead> 
     <tr><th>April</th></tr> 
     <tr> 
      <th>Sun</th> 
      <th>Mon</th> 
      <th>Tues</th> 
      <th>Wed</th> 
      <th>Thur</th> 
      <th>Fri</th> 
      <th>Sat</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td> 
       <div> 
        <span>1</span> 
       </div> 
       <div> 
        <span></span> 
       </div> 
      </td> 
      <td> 
       <div> 
        <span>2</span> 
       </div> 
       <div> 
        <span></span> 
       </div> 
      </td> 
      <td> 
       <div> 
        <span>3</span> 
       </div> 
       <div> 
        <span></span> 
       </div> 
      </td> 
      <td> 
       <div> 
        <span>4</span> 
       </div> 
       <div> 
        <span></span> 
       </div> 
      </td> 
      <td> 
       <div> 
        <span>5</span> 
       </div> 
       <div> 
        <span></span> 
       </div> 
      </td> 
      <td> 
       <div> 
        <span>6</span> 
       </div> 
       <div> 
        <span></span> 
       </div> 
      </td> 
      <td> 
       <div> 
        <span>7</span> 
       </div> 
       <div> 
        <span></span> 
       </div> 
      </td> 
     </tr> 
    </tbody> 
</table> 

CSS日历

#calendar { 
    border:2px solid black; 
    height:100%; 
    width:100%; 
} 

#calendar td { 
    border:2px solid black; 
} 

#calendar td > div:first-child { 
    text-align:left; 
    left: 0; 
    top: 0; 
} 

#calendar td > div:first-child > span{ 
    text-align:left; 
    left: 0; 
    top: 0; 
} 

#calendar td > div + div { 
    clear:both; 
    text-align:center;  
    font-weight:bold; 
    white-space:normal; 
} 
+1

你试图把一个不换行空格在空的跨度?有时候IE会用空元素做怪异的事情。 – ctorx 2012-04-11 19:14:16

+0

将'div's放在'td'里面的目的是什么?只需使用'table'或者只使用'div's。 – Sparky 2012-04-11 19:14:43

+0

@ Sparky672:我看到另一个堆栈溢出帖子提示。 – dotnetN00b 2012-04-11 19:29:29

回答

11

vertical-align:top会做的伎俩。

+1

在div或span ...或者两者兼而有之? – dotnetN00b 2012-04-11 19:29:49

+1

哦,在'​​'。 – 2012-04-11 19:37:18

0

试试这个

div { 
    height: 14px; 
    margin-top: -4px; 
} 
+0

'text-align:center;'如何放在左边? – 2012-04-11 20:06:35

+0

我想知道你的问题?我不清楚你的问题很快告诉我你的问题 – srini 2012-04-11 20:21:57

+0

@ dotnetN00b询问如何将文本放在表格单元格的左上角。我想知道如何将文本与中心对齐来实现这一点。 – 2012-04-11 20:30:50