以前に同様の質問を見たことがあると思いますが、これを修正するものは何も読んでいません。
基本的に、ビューポートを満たす高さ 100% の div があります。この div 内には、高さ 40px の h1 タグと、ページの残りの高さを埋める高さ 100% の順序付けられていないリストがあります。
40px の H1 タグが原因で、ページに望ましくない垂直スクロール バーが表示されます。
同様の質問に対する別の回答はoverflow:hidden
、div に追加することでした。これはしばらくの間うまくいきましたが、これを見つけて問題にしました。順序付けされていないリストにスクロール バーが必要なX個のリスト アイテムを取得するoverflow: hidden
と、div が原因で一番下の 2 つのアイテムが表示されません。デモについては、以下のリンクを参照してください: (ここ)。
誰かがこれで私を助けることができれば、それは大歓迎です。
HTML:
<div>
<h1>Header</h1>
<ul>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
<li>Test</li>
</ul>
</div>
CSS:
html {
height: 100%;
}
body,
h1,
ul {
margin: 0;
padding: 0;
}
body {
height: 100%;
}
div {
height: 100%;
width: 300px;
overflow:hidden;
}
h1 {
height: 40px;
line-height: 40px;
}
ul {
list-style: none;
background: red;
height: 100%;
overflow: auto;
}