【问题标题】:Set equal height and change it on resize设置相等的高度并在调整大小时更改它
【发布时间】:2013-03-06 00:11:22
【问题描述】:

我有一个响应式布局,为此我需要一些高度相等的 div,它们会在调整大小时自动改变高度。

我正在用这个脚本设置等高:

$(window).load(function() {
$('.test').css({
    'height': $('.test').height()
});
});

这是我的 HTML 结构:

    <div class="row front-rows">
        <div class="span3">
            <div id="post">
                <div class="front-row-image">
                    <a href="#"></a>
                </div>
                <div class="test">
                    <h2>Test</h2>
                    <div class="text">Lorem Ipsum dolore</div>
                    <div class="read-more-link">
                        <a href="#"><span class="pull-left">Read More</span></a>
                    </div>
                </div>
            </div>
        </div>
    </div>

但是当设置高度时,我调整大小时它保持这个高度,我不知道如何在调整大小时再次更改大小?

应在页面加载时设置相等的高度 - 并在每次调整大小时更改。

有人可以帮忙吗? :)

【问题讨论】:

  • 您能告诉我们您的 HTML 结构吗?
  • @jantimon 当然,刚刚编辑了我原来的问题 :)
  • 为什么需要等高?只有一个div.test
  • 这个解决方案对我有用:stackoverflow.com/a/9792392/1186072

标签: jquery resize equal-heights


【解决方案1】:

使用resize()函数:

$(window).resize(function() {  
    $('.test').css({
        'height': $('.test').height()
    });
});

【讨论】:

  • 但这不会在我调整大小之前设置高度 - 当我再次调整大小时,高度不会改变。
  • 您可能应该在测量高度之前将高度设置为自动。
  • @KasperBjerre,您应该将它与load() 一起使用。你如何定义高度?
【解决方案2】:

使用 .resize() 而不是 .load() http://api.jquery.com/resize/

虽然为了您的最终目标,我根本不会使用 javascript/jquery。您可以使用带有百分比值的 CSS height 属性来实现您正在寻找的东西。

看起来 BenM 比我快几秒钟。

【讨论】:

  • CSS 解决方案速度更快,并且在您打印页面时也可以使用。
猜你喜欢
  • 2021-09-04
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 1970-01-01
  • 2021-08-06
  • 2011-02-15
  • 2013-07-13
  • 1970-01-01
相关资源
最近更新 更多