Прокручиваемый div под div - PullRequest
0 голосов
/ 27 апреля 2011

Ребята, у меня есть следующий 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 ]

1 голос
/ 27 апреля 2011

возможно, хотя полоса прокрутки тоже исчезает;

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;
}
0 голосов
/ 27 апреля 2011

удалить position:relative из underiv и добавить position:fixed в topdiv. Посмотрите на результат здесь

...