div转换后div容器高度太高

时间:2014-05-07 15:56:59

标签: javascript jquery html css css3

我的网站有"页面"在容器内。页数可以是1-10,但由于这个原因,我无法达到特定的高度。

我的容器适合屏幕的大小,也就是div。然而,当我将窗口缩小到比原始div的高度小时,容器的高度保持不变并留下很多空白区域时,这很有效。

有谁知道如何解决这个问题?

My jsfiddle | jsfiddle full screen

HTML

<div id="container">
    <div id="zoom">
        <div id="formform">
            <div class="formContainer"></div>
            <div class="formContainer"></div>
            <div class="formContainer"></div>
        </div>
    </div>
</div>

CSS

#container {
    display:block;
    padding:15px;
    width:100%;
    margin-top:10px;
    border:1px dashed grey;
}
#formform::after {
    display: block;
    content:'';
    padding-bottom:5px;
}
#formform {
    display:block;
    position:relative;
    width:940px;
    left:50%;
    margin-left:-470px;
    border:0px solid red;
    -webkit-transform-origin: top center;
    -moz-transform-origin: top center;
    transform-origin: top center;
    -ms-transform-origin: top center;
}
.formContainer {
    position:relative;
    margin : 0 auto 15px auto;
    width:940px;
    padding:0;
    height:1178px;
    border:1px solid blue;
}

JS

zoomProject(0);

$(window).resize(function (e) {
    zoomProject(0);
});

function zoomProject(percent) {
    $maxWidth = $("#zoom").width();

    if (percent == 0) percent = $maxWidth / 920;

      $("#formform").css({
        'transform': 'scale(' + percent + ')',
        '-moz-transform': 'scale(' + percent + ')',
        '-webkit-transform': 'scale(' + percent + ')'
      });
}

2 个答案:

答案 0 :(得分:0)

白色空间似乎是因为您只是缩放x轴,您还应该缩放y轴以保持纵横比

  $("#formform").css({
    'transform': 'scale(' + percent + ', '+percent+)',
        '-moz-transform': 'scale(' + percent + ', '+percent+)',
        '-webkit-transform': 'scale(' + percent + ', '+percent+)'
});

更新:CSS

 #container {
    display:block;
    padding:15px;
    width:100%;
    margin-top:10px;
    border:1px dashed grey;
}
#formform::after {
    display: block;
    content:'';
    padding-bottom:5px;
}
#formform {
    display:block;
    position:relative;
    width:940px;

    border:0px solid red;
    -webkit-transform-origin: top center;
    -moz-transform-origin: top center;
    transform-origin: top center;
    -ms-transform-origin: top center;
}
.formContainer {
    position:relative;
    margin : 0 auto 15px auto;
    width:940px;
    padding:0;
    height:1178px;
    border:1px solid blue;
}

答案 1 :(得分:0)

你试过溢出:隐藏;在外部容器的CSS规则上将加载不同的div?

overflow:hidden; 

将高度调整到孩子的高度。

检查这个小提琴:http://jsfiddle.net/naxus28/D5qRE/4/

您将看到外部div(紫色边框)适应您在其中加载的任何div。

希望这可以解决您的问题。