滚动一个div而不是另一个

时间:2012-08-13 16:25:30

标签: html css

我正试图让一个div与滚动上的另一个div重叠。

我有fiddle.

我想要做的是让#wrapper在滚动时重叠#header。

基本上标题是固定的,然后包装器覆盖它。

stickey元素和z-index会这样做吗?

或者它有点复杂。

我有类似here的东西,但我不能让它在这个小提琴上工作(是的,我确实改变了所有的div名称)。

注意:滚动淡入淡出是我稍后会解决的问题。

更新:

html,
body
{
    margin:0;
    width:100%;
}
#header
{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:auto;
    background-size:100%;
}
#header img
{
    width:100%;
    display:block;
    z-index:99;
}
#wrapper
{
    width:100%;
    background-color:lightgrey;
    z-index:100;
    position:absolute;
}
#outer
{
    margin:30px auto;
    padding-top:20px;
    position:relative;
    width:90%;
    height:1500px;
    background-color:red;
}
#inner
{
    margin:0 auto;
    width:200px;
    height:250px;
    background-color:lightblue;
    top:20px
}​

HTML页面:

<!DOCTYPE HTML>
<html lang="en-UK">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <link rel="stylesheet" type="text/css" href="DivTest2.css" />

        <title></title>
    </head>
    <body>
        <script type="text/javascript">

        $(document).ready(function()

            {var header_w=$('#header').height(); ...});

    $('#wrapper').css('margin-top',header_w+'px');

$(window).resize(function()
{
    header_w=$('#header').height();

    $('#wrapper').css('margin-top',header_w+'px');
    });
});
});</script>
    <div id="header">
    <img src="http://davesizer.com/blogs/wp-content/uploads/2010/03/eva_jump.jpg" alt="Dog">
</div>
<div id="wrapper">
    <div id="outer">
        <div id="inner"></div>
    </div>
</div>​

    </body>
</html>

2 个答案:

答案 0 :(得分:2)

如果您对使用jQuery感到满意:

<强>的jQuery

$(document).ready(function()
{
    var header_w=$('#header').height();

    $('#wrapper').css('margin-top',header_w+'px');

    $(window).resize(function()
    {
        header_w=$('#header').height();

        $('#wrapper').css('margin-top',header_w+'px');
    });
});

<强> CSS

html,
body
{
    margin:0;
    width:100%;
}
#header
{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:auto;
    background-size:100%;
}
#header img
{
    width:100%;
    display:block;
    z-index:99;
}
#wrapper
{
    width:100%;
    background-color:lightgrey;
    z-index:100;
    position:absolute;
}
#outer
{
    margin:30px auto;
    padding-top:20px;
    position:relative;
    width:90%;
    height:1500px;
    background-color:red;
}
#inner
{
    margin:0 auto;
    width:200px;
    height:250px;
    background-color:lightblue;
    top:20px
}​

<强> DEMO


更新

$(document).ready(function()
{
    $('#wrapper').css('margin-top'header_w+'px');

    $(window).resize(function()
    {
        header_w=$('#header').height();

        $('#wrapper').css('margin-top',header_w+'px');
    });
});

答案 1 :(得分:1)

你可以完全按照你所说的做,将标题的位置设置为固定。然后为包装器添加一个上边距以便最初将其向下推。 Demo