【发布时间】:2012-12-13 05:06:10
【问题描述】:
我很震惊。在 Internet Explorer 和 Mozilla Firefox 中,这个页面真的很高!我一直在使用 jQuery 将元素的高度设置为几乎与元素一样高。它在 Chrome 中看起来很完美,但 IE 和 FF 呈现一个非常高的页面。更奇怪的是,在使用 Firefox 的检查器时,我可以看到页面超出了元素的高度!
jQuery:
(function($){
var resize = function(){
var height = $('html').height();
$('#wrap > div').height(height-38);
$('html').height(height); // Added this to try and fix the height
};
$(window).resize(resize).load(resize);
})(jQuery);
HTML 布局:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<!-- ... --->
</head>
<body>
<div id="wrap"><div> <!-- I want the child of #wrap to be the height of the entire page. -->
<div id="left"><div>
<!-- ... -->
</div></div>
<div id="main">
<!-- ... -->
<div class="clear"></div>
<div id="body">
<!-- ... -->
</div>
</div>
</div></div>
</body>
</html>
CSS:
html{height: 100%;}
body{background: url('images/body.jpg') no-repeat fixed left top; border: 8px solid #BBB0A2; border-width: 8px 0 0 6px; min-width: 902px;}
#wrap{max-width: 1130px;}
#wrap > div{float: right;}
#main{float: left; width: 630px; height: 100%; padding: 10px 20px 20px 20px; background: #FFFFFF;}
#body{margin-top: 20px; font: 13px/18px Georgia, serif; color: #AE9073; position: relative;}
这是我正在尝试使用的网站:http://www.phoenixarizonashutters.com/
感谢您的帮助。
【问题讨论】:
-
是因为你有填充吗?我不是 Web 开发人员,但 main 占用了 100% 的容器 + 填充这一事实不会使它比容器大吗?
-
你有 20px 左右和 10px 顶部和 20px 底部填充...
-
不确定这是什么意思 -> "将元素的高度设置为几乎与元素一样高。"
-
我将你的代码从函数中取出,它在我的 ipad 上运行良好,在 safari 和 chrome 中运行良好。这是一个 js 小提琴链接:jsfiddle.net/3bSgN。我无法访问 ie,所以请尝试一下。
-
body 标签中缺少 height:100%。如果您希望使用所有可用的零售空间, 和 都需要包含此内容。
标签: jquery html css browser height