Область содержимого параллакса с использованием основной полосы прокрутки

0

Глядя на попытку установить страницу вверх, где html overflow: hidden а верхний и нижний колонтитулы фиксированы, а содержимое тела overflow: scroll.

Текущая проблема заключается в том, что полоса прокрутки отображается в содержимом div. Можно ли установить "основную" полосу прокрутки браузера для взаимодействия с содержимым div?

Revalent CSS:

html {
   overflow: hidden;
}
header {
   position: fixed;
   width: 100%;
   height: 15%;
}
footer {
   position: fixed;
   width: 100%;
   bottom: 10%;
   height: 5%;
}
#content {
   position: fixed;
   height: 80%;
   max-width: 960px;
   margin: 0 auto;
   overflow: scroll;
}

Вот понятие: http://jsfiddle.net/6gcfx/ (имейте в виду, что это не основная полоса прокрутки, которая перемещает содержимое по желанию).

  • 0
    Вы говорите, что у вас есть body{overflow:scroll} , но я его не вижу (кстати, есть два html{overflow:hidden} ). Неясно, что вы спрашиваете
  • 0
    Извините, снова скопировал html вместо свойств заголовка. По сути, я хотел бы, чтобы контент был единственным элементом экрана, который прокручивается. Верхний и нижний колонтитулы останутся фиксированными.
Показать ещё 1 комментарий
Теги:

2 ответа

1

Если вы используете процентную высоту (как в своем вопросе), вы можете сделать это таким образом, используя position:fixed на верхнем и нижнем колонтитуле и position:absolute на теле

html { overflow: hidden; }
header {
    position: fixed;
    top: 0;
    height:15%;
    width: 100%;
    background: #ccc;
}
#content {
    overflow: scroll;
    height: 70%;
}
footer {
    position: fixed;
    bottom:0%;
    height:15%;
    width: 100%;
    background: #ccc;
}

Изображение 174551

Если высоты верхнего и нижнего колонтитулов не указаны в процентах, вы можете использовать calc(). Однако этот подход обычно требует более современных браузеров, поэтому вам придется иметь резервную копию javascript, если вы хотите поддерживать старые браузеры

html { overflow: hidden; }
header {
    position: fixed;
    top: 0;
    height:75px;
    width: 100%;
    background: #ccc;
}
#content {
    position:absolute;
    top:75px; /* Height of header */
    overflow: scroll;
    height: calc(100% - 125px); /* 100% - (headerHeight + footerHeight) */
}
footer {
    position: fixed;
    bottom:0%;
    height:50px;
    width: 100%;
    background: #ccc;
}

Изображение 174551

0

Простите мою новизну, но я думаю, что вижу вашу проблему. Переключите свой контент в div

#content {
position:float;
top:(header size);

И переключите верхний и нижний колонтитулы на

position:fixed;

Таким образом, содержимое должно прокручиваться со строкой прокрутки страницы, а верхний/нижний колонтитул невозможен.

  • 0
    Я думаю, что вы понимаете проблему, к сожалению, нет position: float; свойство. w3schools.com/cssref/pr_class_position.asp
  • 0
    Я использую это все время, но тогда используйте float: center? Если это не сработает, поместите ваш основной контент в float: влево / вправо в пустую позицию: абсолютный заполнитель.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню