私はcssをこのための解決策を見つけようとしています。ページの上部にリストメニューがあり、その下にコンテンツを含むdivがあります。コンテンツdivには、残りのビューポートの高さの100%が常に含まれている必要があります。ブラウザのスクロールバーは非表示にする必要があり、コンテンツdivにはスクロールバーが必要です。ここまで問題ありません。このために、私はcontent div position:absoluteとtopvalueを与えました。
私の問題は、ユーザーがブラウザのサイズを変更すると、メニューが新しい行にブレーキをかけ、コンテンツに修正された「トップ」値があるため、メニューがコンテンツとオーバーラップすることです。
1つの解決策は、ブラウザのサイズ変更時にメニューdivの高さを読み取り、コンテンツdivの位置を設定することです。しかし、私はjsを避けるのが好きです。私の質問は、これをcssだけで実行できるかということです。
以下の例をご覧ください。
乾杯、
トニー
<!DOCTYPE html>
<html lang="en">
<head class="html5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<style>
html, body {
overflow: hidden;
margin: 0;
padding: 0;
}
#nav{
border:1px solid black;
overflow: auto;
height: auto !important;
height: 50px;
min-height: 50px;
}
#nav ul li{
list-style-type: none;
float:left;
margin: 0 40px 0 0;
}
#content{
overflow:scroll;
height:100%;
top:50px;
position: absolute;
}
#content p{height:1024px;border:1px solid red;margin:0;}
</style>
</head>
<body>
<div id="nav">
<ul>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
</ul>
</div>
<div id="content">
<p class="article">here goes the content</p>
</div>
</body>
</html>