31

私はこのウェブサイトを開発していて、右側のサイドバーの高さを100%にしたいと思っています。

body { 
    height: 100%; 
    min-height: 100%;
    position: relative;
}

mydiv { 
    height: 100%; 
    min-height: 100%; 
    position: absolute; 
    top: 0; 
    right: 0; 
    bottom: 0;
    width: 290px;
}

私はたくさんの答えを読みました、特にこれ(Prestaulの答え): コンテンツがウィンドウサイズを超えて拡大するときに絶対位置の要素に100%の高さを設定します

しかし、私にとってこのトリックは機能しません。また、フィドルの例も機能しません。

これはjsfiddleの動作例です。

これは、機能しないのと同じコードです。

4

5 に答える 5

52

htmlタグも設定します。このように、奇妙な位置のハックは必要ありません。

html, body {height: 100%}

于 2013-01-31T15:07:29.813 に答える
6

ボディスタイルを次のように設定してみてください。

body { position:relative;}

それは私のために働いた

于 2013-01-31T15:13:58.360 に答える
6

CSS Flexboxは、これらのタイプのレイアウトの作成を簡素化するように設計されています。

html {
  height: 100%;
}

body {
  height: 100%;
  display: flex;
}

.Content {
  flex-grow: 1;
}

.Sidebar {
  width: 290px;
  flex-shrink: 0;
}
<div class="Content" style="background:#bed">Content</div>
<div class="Sidebar" style="background:#8cc">Sidebar</div>

于 2017-11-13T22:47:10.660 に答える
1

別の提案があります。myDivの高さを100%にする場合は、divで次の3つの追加属性を使用します。

myDiv {
    min-height: 100%;
    overflow-y: hidden;
    position: relative;
}

それでうまくいくはずです!

于 2013-11-13T07:49:18.840 に答える
0

この戦略は私にとって最も効果的です。

div.full {
  width: 100wh;
  height: 100vh;
}

フルスクリーンコンテナを作成します。

于 2021-09-09T16:52:30.183 に答える