首页 >web前端 >html教程 >IE下table设置高度100%却无效的情况_html/css_WEB-ITnose

IE下table设置高度100%却无效的情况_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-21 09:39:111491浏览

本帖最后由 zhukongyi 于 2011-12-31 17:34:14 编辑

<!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"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style type="text/css">* {	padding:0px;	margin:0px;}html, body {	width:100%;	height:100%;}</style></head><body><table style="height:100%;width:100%;border:solid 1px black;">  <tr>    <td><table style="width:100%;height:100%;border:solid 1px red;">        <tr>          <td style="height:41px;border:solid 1px #6F6"></td>        </tr>        <tr>          <td></td>        </tr>        <tr>          <td style="height:41px;border:solid 1px #00F"></td>        </tr>      </table></td>  </tr></table></body></html>


非常奇怪,在FF和Chrome中都是正常的,却唯独是IE中嵌套的table设置高度为100%无效

回复讨论(解决方案)

人呢?

...就没有一个会的愿意指点一下吗?
或者说明下这是什么原因造成的

你应该设置外层table中tr的td的width属性值


  
    
  

          
             
                 
            
            
                  
            
            
                
            
        

     

你应该设置外层table中tr的td的width属性值


  
    

          

谢谢你的回复,不过我要的高度为100%
而我上面的代码里面的table设置height:100%没有任何的效果

有效果啊?为什么你说没有效果呢?你设置了两个高41px的列,还有table边框,你那个最外层的table高度就是他们加一起啊。。。你希望的效果是什么呢?占整个页面100%?

我以前做ASP.NET的时候,table的高度设置100%无效,但是设置像素可以。父容器就是body。
而相同的代码在纯HTML下设置100%就有效果。不知道为什么。

难道一定要设置body的height?

有效果啊?为什么你说没有效果呢?你设置了两个高41px的列,还有table边框,你那个最外层的table高度就是他们加一起啊。。。你希望的效果是什么呢?占整个页面100%?

最外层的table设置了高度为100%,他的高度并不是里面的的table行高的总和,里面的table设置了table高度为100%,然后其中有2行设置了高度,中间的那一行本应该自动填充满其余的高度的,但是在IE下却没有这样
html,body的高度我都设置过了,所以外面的table高度才能撑满整个页面,但里面的table不知道为什么在IE下无效

也许是IE浏览器的兼容性问题吧 。。。

我最想知道的是有没有解决方案.....

IE不行,放弃吧,用其他方式指定吧。

<!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" ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style>html,body,table{height:100%}</style></head><body><table><tr><td>aa</td></tr></table></body></html>

HTML code
nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



谢谢你的回复,不过这还不是我要的效果,我所说的是table里嵌套一个table设置高度100%无效

看来是没有人愿意来解释一下原因了...

用百分比去设置高宽时,父元素要设置固定的高宽

<html>  <head>    <title>Test</title>    <script src="jquery-1.3.2.min.js" type="text/javascript"></script></head> <style type="text/css">.a{ width:50px; height:50px; border:solid 1px Black;}.b{ width:100%; height:100%; border:solid 1px Red;}</style><body>    <div class="a">		<div class="b">		</div>	</div>    <script type="text/javascript">    </script></body>  </html> 

我最想知道的是有没有解决方案.....
要达到你的效果,并用%设置高度,没有滚动条(上帖的代码出现了滚动条),最后修正如下:

<!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"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>回复</title><style type="text/css">* {    padding:0px;    margin:0px;}html {    width:99.9%;    height:99.8%;}body {    width:99.9%;    height:99.8%;    border:solid 1px black;}</style></head><body><table style="width:100%;height:100%;border:solid 1px red;">        <tr>          <td style="height:41px;border:solid 1px #6F6"></td>        </tr>        <tr><td></td>        </tr>        <tr>          <td style="height:41px;border:solid 1px #00F"></td>        </tr>      </table></body></html>

IE6不认识没有高度的东西。100%有时的认识也会不太对,建议你可以专门为IE6写个“_height:200px”这样的高度

支持 18楼

你试试把 DOCTYPE 声明去掉,或修改成

nbsp;html> 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn