2010-12-22 196 views
1

好的, 所以这里是我的问题..和它的buggin我一段时间... 我需要在此TD内设置以下DIV 100%高度,没有任何副作用(由于我的意思是滚动),因为一些未知的原因,当我把它设置为100%的高度,看起来像IE 8做了一些错误的计算.. 我试了很多组合,但没有成功.. transitional doctype是必需的... 在此先感谢您的帮助!100%高度div内100%td

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<style> 
html, body 
{ 
    height:100%; 
    margin:0px; 
    padding:0px; 
} 
</style> 
<head> 
    <body> 
     <table style="height:100%" border="1"> 
      <tr> 
       <td>TOP</td> 
      </tr> 
      <tr style="height:100%"> 
       <td style="height:100%"> 
        <div style="border:1px dotted blue; height:100%">CONTENT</div> 
       </td> 
      </tr> 
     </table> 
    </body> 
</html> 
+1

...您是否使用表格来布置非表格数据? ... – jball 2010-12-22 23:57:49

+1

@jball:男人,我很久以前就停止了那场战斗。这场战斗太过艰难。另外,标题样式和内联样式的混合也有点令人不安。 – David 2010-12-23 00:03:08

回答

1

的DIV边框是“外部”的高度...所以真的,你申请的风格是100%+ 2像素(1px的顶部边框,1px的底部边框)的高度.. 。

如果您删除边框真正的高度将是100%,滚动条就会消失:)

如下评论,在底部细胞的height:100%使得总表高度=第一行高+中底行高度的100%。


UPDATE:好,所以它不是很漂亮,但它的最好的我已经有了:

如果你给的div blah一个id,并使用以下jquery破解div的高度,以它的父母...这确实需要第一行/单元格的高度定义虽然..我设置为100px为例。

$('#blah').height($('#blah').parent().height()); 

的jsfiddle例子...... http://jsfiddle.net/Damien_at_SF/vwcvN/