CSS或jQuery:使最后一个div填充屏幕高度的其余部分

时间:2013-07-25 18:27:56

标签: jquery html css frontend

我有一组需要在初始屏幕上看到的3个元素,而在这些元素下面的主体中的东西需要低于初始屏幕的底部,但用户仍然需要能够加载后滚动到所有内容。最好的例子是dropbox.com上的登陆页面(退出时)。

无论用户缩小多少,该行下方的元素都会保持在其下方,并且在用户向下滚动之前不会看到。我正在寻找一个好的CSS或jQuery解决方案。

我见过this,但我不能简单地将这3个元素设为绝对。

对我来说,最好的方法是将第3个div的高度扩展到初始屏幕的底部,我该怎么做?

编辑:我总共有6个div,我只希望前3个可见,而其余的必须低于初始屏幕界限。

编辑:这是div布局的图片:enter image description here

3 个答案:

答案 0 :(得分:3)

$(document).ready(function(){
    var w = $(window).height(); //Gives height of whole window

    // then set css heights based on window height
});

有关如何制定3个div的更多信息将有所帮助!

你也可以这样做,只要他们调整窗口大小。

$(window).resize(function(){
    var w = $(window).height(); //Gives new Height of window

    //Then set css heights again
});

答案 1 :(得分:0)

尝试

$(document).ready(function() {
var height = $(window).height();
$('div').css('height', height + 'px');
});

和缩放

var zoom = document.documentElement.clientWidth / window.innerWidth;
$(window).resize(function() {
var zoomNew = document.documentElement.clientWidth / window.innerWidth;
if (zoom != zoomNew) {

    zoom = zoomNew
}
});

fiddle

答案 2 :(得分:0)

你应该只用css来实现这一点,但重要的是将你的html和body标签定义为100%的高度:

<body>
  <div class="first">
    <h1>First Box</h1>
  </div>
  <div class="second">
    <h1>Second Box</h1>
  </div>
  <div class="third">
    <h1>Third Box</h1>
  </div>
</body>

的CSS:

* {
    margin: 0;
    padding: 0;
}
html, body {
    height: 100%;
}

div {
    height: 100%;
    text-align: center;
}

.first {
    background: #ccc;
}

.second {
    background: #999
}

.third {
    background: #000
}

h1 {
    color: white;
    padding-top: 100px;
}

Jsfiddle:http://jsfiddle.net/sLANY/