div下的可滚动div

时间:2011-04-27 10:17:58

标签: javascript html css scroll jquery-mobile

伙计们,我有以下HTML。 #underdiv是否可以在#topdiv下滚动?我希望实现具有项目列表的效果,并且能够在保持#topdiv始终可见的同时上下滚动它。它可以用CSS完成,还是我必须添加一些Javascript魔法?我还在文件中包含了JQuery和JQueryMobile(因为它适用于iOS设备),但我保留了它们以使HTML看起来更简单。

先谢谢你帮助我!

<!DOCTYPE html> 
<html>
<head>
    <title>test</title>
    <style>
        #underdiv {
            background-color: red;
            position: relative;
            top: -40px;
            width: 80%;
            margin: 0 auto;
        }
        #topdiv {
            background-color: yellow;
        }
    </style>
</head>
<body>
    <div id="topdiv">
        <h1>Random title</h1>
        <p>This is a random paragraph bla bla bla bla yada yada yada</p>
    </div>
    <div id="underdiv">
        <ul>
            <li>Item 1</li>
            <li>Item 2</li>
            <li>Item 3</li>
            <li>Item 4</li>
            <li>Item 5</li>
            <li>Item 6</li>
            <li>Item 7</li>
            <li>Item 8</li>
            <li>Item 9</li>
            <li>Item 10</li>
            <li>Item 11</li>
            <li>Item 12</li>
            <li>Item 13</li>
            <li>Item 14</li>
            <li>Item 15</li>
            <li>Item 16</li>
            <li>Item 17</li>
            <li>Item 18</li>
            <li>Item 19</li>
            <li>Item 20</li>            
        </ul>
    </div>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

这是可能的,虽然滚动条也会消失;

ul {
    margin: 0; 
    padding: 40px 0 0 30px;
}

#underdiv {
    background-color: red;
    width: 80%;
    margin: 0 auto;
    height: 200px;
    overflow: auto;
    margin-top: -40px;
}


#topdiv {
    background-color: yellow;
    padding: 1px; /* to stop margins collapsing */
    position: relative;
}

答案 1 :(得分:0)

从underiv中删除position:relative并将position:fixed添加到topdiv。 查看resut here