中央にコンテンツがあるモーダルがあります。しかし、上部には、コンテンツをスクロールしても動かない固定ヘッダーのようなものがあります。問題は、コンテンツが大きくなると (css で高さを 150% に設定)、スクロール バー (Mac OS ユーザーはスクロールバーを有効にしてください) がコンテンツを左に分割し、一方でヘッダーが同じ位置にとどまることです。
コンテンツが壊れないようにするにはどうすればよいですか?
HTML:
<div class="modal">
<div class="content">
<div class="header">Some title</div>
<div class="text">
Some text
</div>
</div>
</div>
CSS:
*, *:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body{
background-color: black;
}
.modal{
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
z-index: 9;
overflow-y: auto;
background-color: rgba(255, 255, 255, 0.5);
}
.content{
width: 60%;
position: relative;
margin: auto;
z-index: 4;
height: 150%;
background-color: white;
}
.header{
width: 60%;
background-color: black;
height: 50px;
position: fixed;
}
.text{
padding: 80px 30px;
}
Jsfiddle:
アップデート
absolute
モーダルがの代わりになるとfixed
、スクロールバーが固定要素に影響を与えないことに気付きました。誰かがなぜこれが起こるのか知っていますか?
Jsfiddle:
モーダルのスクロールバーのposition: fixed
動作が異なるのはなぜですか?
ありがとう!