#javascript #html #css #scroll #jquery-mobile
#javascript #HTML #css #прокрутка #jquery-мобильный
Вопрос:
Ребята, у меня есть следующий 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>
Ответ №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;
}
Ответ №2:
удалить position:relative
из underiv и добавить position:fixed
в topdiv. Посмотрите на результат здесь