コードスニペットが含まれています。ヘッダーとフッターが.main
divの内側になるように配置しようとしています。親との固定要素
なぜこれが機能しないのかわかりません。代わりに、ビューポート全体にまたがっています。
この特定のレイアウトでは、JavaScriptなしで親の左の位置を特定することはできず、CSSでそれを保持したいと考えています。
ヘッダーとフッターは、スクロールしたときと同じ場所に留まる必要があります。
.main {
position: absolute;
left: 60px;
right: 0px;
top: 0px;
height: 50000px;
background-color: #09f;
}
.parent {
position: relative:
width: 100%;
}
.header {
position: fixed;
top: 0;
left: 0;
right: 0;
background-color: #f00;
}
.footer {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background-color: #f00;
}
<div class="main">
<div class="parent">
<div class="header">
<h3>header</h3>
</div>
<div class="footer">
<h3>footer</h3>
</div>
</div>
</div>
私は質問の下のコメントで書いたように、事前に任意の助けてくれてありがとう、 ジェイミー
可能性の重複[固定位置が、容器に対して(https://stackoverflow.com/questions/6794000/fixed-position-but-relative-to-container) –
Aビットは異なりますが、近いです。 –
エレメントはビューポートに固定され、親エレメントには固定されません。 Position:fixedはposition:absoluteと同じではありません。しかし... .main(と.parent)が左側から60pxであることを知っていると、ヘッダー/フッターにも 'left:60px'を設定しない理由はありません。 – panther