2017-02-14 3 views
1

問題は、この(https://jsfiddle.net/Lpm2ghsr/4/CSS - スクロールコンテンツの拡大ではないが、適切

のようであるあなたがスクロールすると、あなたは.contentの高さは何とかコンテナのと同じである、背景色で見ることができます実際のコンテンツの高さに拡大するのではなく、

コンテンツに「高さ:100%」を追加すると、親と同じ高さを意味する100%として機能していないようです。

"overflow:auto"を.contentに追加しようとしましたが、例のようにスクロールバーが外にある必要があるため、実際には必要ではありません。私はこれが最も簡単な方法であると思います

body{ 
    overflow: hidden; 
    width: 99%; 
    height: 100%; 
    min-height: 100%; 
    position: absolute; 
} 
header{ 
    height: 100px; 
    width: 100%; 
    background-color: black; 
} 

.container{ 
    display: flex; 
    overflow: auto; 
    width: 100%; 
    height: calc(100% - 100px); 
    position: relative; 
} 
.content{ 
    width: 100%; 
    background-color: #bbb; 
} 

pre{ 
    width: 100%; 
    font-size: 2rem; 
} 
+1

なぜ、コンテナーに 'height:calc(100% - 100px)'がありますか? 100%に設定した場合はうまくいくはずです。私が気づいた別の問題はあなたのセクション/ divの終了タグが間違った方法です。 – Dana

+0

これは? https://jsfiddle.net/Lpm2ghsr/3/ –

+0

@Danaありがとう、私はタグを修正しました。ヘッダーは100px hegihtなので、.containerは100pxを除外する必要があります。これを100%に設定すると、スクロールバーが長くなり過ぎて下部に消えてしまいます。 –

答えて

0

:ここ

は、HTMLマークアップ

<header></header> 
<div class="container"> 
    <section class="content"> 
    <pre>some text 
    some text 
    some text 
    some text 
    some text 
    some text</pre> 
    </section> 
</div> 

とCSSです。これを試して。

メインコンテンツは「コンテンツ」クラスですので、コンテンツクラスに高さを適用してください。 下記の修正コードをお試しください。

.container{ 
    display: flex; 
    overflow: auto; 
    width: 100%; 
    height: 100%; 
    position: relative; 
} 
.content{ 
    width: 100%; 
    height: calc(100% - 100px); 
    background-color: #bbb; 
    overflow: auto; 
} 
+0

これは私が欲しいものです!ありがとう!しかし、1つの質問は、オーバーフロー:オート; .containerに適用する必要がありますか? –

+0

コンテナの高さを100%に設定しているため、内部コンテンツに対してのみオーバーフローが必要です。 –

0

フレックスからブロックするように.containerディスプレイを変更すると動作します。

.container { 
    display: block; 
} 
+0

残念ながら、私はdisplay:flexを子要素のレイアウトのために保持しなければなりません。内容は実際には例よりも複雑です。質問でそれを明確にしてくれないのは残念です。 –

関連する問題