Home > Web Front-end > HTML Tutorial > IE下table设置高度100%却无效的情况_html/css_WEB-ITnose

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

WBOY
Release: 2016-06-21 09:39:11
Original
1502 people have browsed it

本帖最后由 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>
Copy after login


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


回复讨论(解决方案)

人呢?

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

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

















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




有效果啊?为什么你说没有效果呢?你设置了两个高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>
Copy after login

HTML code




谢谢你的回复,不过这还不是我要的效果,我所说的是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> 
Copy after login

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

<!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>
Copy after login

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

支持 18楼

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

nbsp;html> 

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template