Независимая колонка прокрутки в HTML-странице

У меня есть два столбца на моей HTML-странице.

<div id="content">
  <div id="left"></div>
  <div id="right"></div>
</div>

Каждый из них занимает половину страницы

#left {
    float: left;
    width: 50%;
}

#right {
    float: left;
    width: 50%;
}

Можно ли сделать так, чтобы они текла независимо? Я хочу, чтобы я мог прокручивать левый столбец, но остаюсь в верхней части правого столбца, вместо того, чтобы прокручивать оба столбца одновременно.

Ответы

Ответ 1

Посмотрите эту скрипку

#content, html, body {
    height: 98%;
}
#left {
    float: left;
    width: 50%;
    background: red;
    height: 100%;
    overflow: scroll;
}
#right {
    float: left;
    width: 50%;
    background: blue;
    height: 100%;
    overflow: scroll;
}

Ответ 2

Более ранние сообщения немного улучшились:

  • 100% html и размер тела.... без полосы прокрутки
  • поля для левого и правого полей
  • индивидуальные полосы прокрутки только при необходимости ( "авто" )
  • некоторые другие детали: попробуйте!

Fiddle: 2 независимо прокрутки divs

html, body {
  height: 100%;
  overflow: hidden;
  margin: 0;
}
#content {
  height: 100%;
}
#left {
  float: left;
  width: 30%;
  background: red;
  height: 100%;
  overflow: auto;
  box-sizing: border-box;
  padding: 0.5em;
}
#right {
  float: left;
  width: 70%;
  background: blue;
  height: 100%;
  overflow: auto;
  box-sizing: border-box;
  padding: 0.5em;
}

Ответ 3

Да. Вам придется ограничить их высоту. См. эту скрипту для рабочего примера.

#content {
    height: 10em;
}
#left {
    float: left;
    width: 50%;
    background-color:#F0F;
    max-height:100%;
    overflow: scroll;
}

#right {
    float: left;
    width: 50%;
    background-color:#FF0;
    max-height:100%;
    overflow: scroll;
}

Ответ 4

Задайте высоту для столбцов и установите overflow: auto. Вы также можете поместить все правила в один и тот же селектор CSS. Вот так:

#left, #right {
    float: left;
    width: 50%;
    height: 200px; /* Set your height here */
    overflow: auto;
}

Ответ 5

В простой форме напишите свой CSS таким образом

#content div{
    height: 300px;
    width:200px;
    float: left;
    border:1px solid blue;
    overflow-y: auto;
}

Обратитесь LIVE DEMO