【发布时间】:2010-10-16 02:31:15
【问题描述】:
我很困惑!用这个:
...
<div id="main">
<div id="content">
<div class="col1">
...COLUMN1 CONTENT GOES HERE...
</div>
<div class="col2">
...COLUMN2 CONTENT GOES HERE...
</div>
</div><!-- #content -->
</div><!-- #main -->
...
如您所见,有列,我想将它们的容器元素的高度设置为两列的最大尺寸(加上 130 像素)。所以通过使用原型框架:
//fixing column height problem
Event.observe(window,"load",function(){
if(parseInt($('col1').getStyle('height')) > parseInt($('col2').getStyle('height')))
$('main').setStyle({'height' : parseInt($('col1').getStyle('height'))+130+'px'});
else
$('main').setStyle({'height' : parseInt($('col2').getStyle('height'))+130+'px'});
});//observe
它在 Firefox、Opera、Safari 和 Chrome 中运行良好,但无法返回列的实际高度。在 IE7+ 中(未在 IE6 中测试)它返回 NaN 作为列高。
我已经设法找出这是因为:
.col1,.col2{"height:auto;"}
我还使用了“$('col1').offsetHeight”,它返回 0 作为每列的高度值。
HTML 的样式是这样的:
#main{
height: 455px;
background: #484848 url(../images/mainbg.png) repeat-x;
}
#content{
/*height:80%;*/
width: 960px;
direction: rtl;
margin-top: 50px;
margin-left: auto;
margin-right: auto;
position: relative;
}
.col1,.col2{
width: 33%;
text-align: right;
margin-left:3px;
padding-right:3px;
line-height:17px;
}
.col1{padding-top:20px;}
.col1 ul{
margin:0;
padding:0;
list-style: url(../images/listBullet.gif);
}
.col1 ul li{
margin-bottom:20px;
}
.col2{
top: 0;
right: 70%;
position: absolute;
}
请对这个问题有任何想法?!
更新/花了三天时间解决,我冒着获得赏金的风险!
有关解决方案,请查看this question/answer。
【问题讨论】:
标签: javascript html css internet-explorer internet-explorer-7