1

我将使用以下脚本:

<script type="text/javascript">
    window.document.onload = function(e){
        var aheight = document.getElementById("a").offsetHeight;
        var bheight = document.getElementById("b").offsetHeight;
        if(aheight > bheight) {
            document.getElementById("b").offsetHeight = aheight;
        }else {
            document.getElementById("a").offsetHeight = bheight;
         }
    }
</script>

HTML:

<div>
    <div id="a" class="grid_6" style="background-color: #ff00ff">
        <div class="block-border">
            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
        </div>
    </div>
    <div id="b" class="grid_6" style="background-color: #ffff00">
        <div class="block-border">
            Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
        </div>
    </div>
</div>

和 CSS:

.grid_6 {
    width: 200px;
    display:inline;
    float: left;
    margin-left: 0.99%;
    margin-right: 0.99%;
}

我将使用它来平衡页面上两个 DIV 之间的高度。有人能告诉我哪里是放置这个脚本的最佳位置,以便它尽快工作。window.document.onload 也是最好的触发器吗?我是否可以在加载元素 ID“a”和“b”的 DIV 上触发?我只是想避免用户看到 DIVS 的变化是大小。

4

3 回答 3

1

虽然表中的表中的表中的表中的空单元格用于填充是不好的,但使用与表相关的 CSS 非常好。考虑这个纯 CSS 解决方案:

<div id="parent">
    <div class="grid_6">
        <!-- content -->
    </div>
    <div class="grid_6">
        <!-- content -->
    </div>
</div>

CSS:

#parent{
  display: table-row
}

.grid_6{
  display: table-cell
  width: 50%;
}

小提琴:http: //jsfiddle.net/NqXgd/

请注意,不一定有带有display: table;的元素。浏览器会自动插入一个匿名元素。您也可以编写,并在单元格样式的 s 周围插入#parent{display:table}匿名。table-rowdiv

请注意,如果您没有设置明确的宽度,浏览器可以自由选择它们(例如,均衡高度)。这可能是有益的,或者您可以明确设置一些宽度来约束布局。

于 2013-02-13T16:54:20.997 回答
0

如果大小ab不依赖于外部资源,那么您不必等待load事件,您可以简单地将其放在正文的末尾(或任何可能影响大小的元素的定义之后的任何位置和a) b:

<script type="text/javascript">
var aheight = document.getElementById("a").offsetHeight;
var bheight = document.getElementById("b").offsetHeight;
if(aheight > bheight) {
    document.getElementById("b").style.height = aheight+'px';
}else {
    document.getElementById("a").style.height = bheight+'px';
 }
</script>

示范

请注意,我更改offsetHeight =style.height =您无法更改offsetHeight元素的。

于 2013-02-13T16:43:31.770 回答
0

偏移大小是只读的,要更改脚本中的高度,您需要将元素的style.height设置为偏移数 +'px'。

于 2013-02-13T17:01:34.787 回答