Ответ 1
Сначала удалите свои встроенные стили. Затем добавьте этот css.
html , body {
margin: 0px;
height: 100%;
}
.content {
height: 100%;
overflow: scroll;
}
У меня есть заголовок и длинный прокручиваемый контент. Я бы хотел, чтобы заголовок не был прокручиваемым. Я попытался установить overflow: hidden
в заголовок, но безуспешно.
Как я могу получить заголовок из области прокрутки?
Отрывок:
<body>
<div style="overflow: hidden">Header</div>
<div style="overflow: scroll">Content - very long Content...
Смотрите Plunker с этим кодом.
Я также пробовал устанавливать стили в теле - без успеха.
Я знаю там способ сделать заголовок исправленным с использованием фиксированной позиции, но я не хочу его использовать, потому что он требует знать высоту заголовка заранее (за разницу). Это требует дублирования размера, и если заголовок более сложный, он требует вычисления.
Сначала удалите свои встроенные стили. Затем добавьте этот css.
html , body {
margin: 0px;
height: 100%;
}
.content {
height: 100%;
overflow: scroll;
}
Нашел магию гибкости.
Здесь пример того, как делать фиксированный заголовок и прокручиваемый контент. Код:
<!DOCTYPE html>
<html style="height: 100%">
<head>
<meta charset=utf-8 />
<title>Holy Grail</title>
<!-- Reset browser defaults -->
<link rel="stylesheet" href="reset.css">
</head>
<body style="display: flex; height: 100%; flex-direction: column">
<div>HEADER<br/>------------
</div>
<div style="flex: 1; overflow: auto">
CONTENT - START<br/>
<script>
for (var i=0 ; i<1000 ; ++i) {
document.write(" Very long content!");
}
</script>
<br/>CONTENT - END
</div>
</body>
</html>
Для полной реализации Holy Grail (заголовок, нижний колонтитул, nav, side и content), используя гибкий дисплей, перейдите к здесь.