タイトル バーを固定に設定すると下に移動するのはなぜですか?
質問内容
タイトルバーがページタイトルとナビゲーションバーの間に配置されているのですが、position:fixedにすると余白が増えてしまいました。 。以下は Codepen リンクです:
[Codepen link]
質問の回答
マージン崩壊 と呼ばれる問題が発生しました。問題。タイトル バーを固定に設定すると、通常のドキュメント フローから外れます。したがって、フォームは最初の通常のドキュメント フロー要素になります。これは、フォームの上マージンが折りたたまれる、またはbody要素の上マージンと重なることを意味します。 1
これは、上部の値を設定していないため、ボディ要素の上マージンが大きくなり、固定要素がボディに対して相対的に配置されることを意味します。 2
この状況を回避するには、次の方法を選択できます:
解決されたコード:
body {
padding-top:1px; /余白折りを無効にする/
}
#header{
background-color:#191919; height:3rem; width:100%; position:fixed;
}
フォントファミリー: 'パーマネント マーカー'、筆記体;
color:white;
margin-left:1.5rem;
float:left;
font-size:25px;
}
ul{
list-style:none;
表示:フレックス;
フロー方向:行;
justify-content:space-around;
}
background-color:#191919;
float:left;
width:100%;
}
margin-top:45rem;
margin-left:25%;
margin-right:25%;
}
img{
width:70%;
高さ:70%;
}
a {
text-decoration:none;
font-family: 'Work Sans'、筆記体;
color:white;
font-size:12px;
}
width:100%;
box-shadow:3px 3px 5px grey;
}
font-family:'Roboto'、筆記体;
font-size:14px;
font-weight:bold;
color:#686868;
ボックスシャドウ:3px 3px 5px grey;
パディング: 5px 5px;
}
.catalog{
margin-left:10%;
margin-right:10%;
margin-top: 5rem;
幅:90%;
float:left;
}
width:100%;
box-shadow:3px 3px 5pxグレー;
}
margin-top:5rem;
margin-left:25%;
margin-right:25%;
width:50%;
}
display:flex;
flow-direction:row;
flex-wrap:wrap;
}
フォントファミリー: 'Oswald', cursive;
font-size: 20px;
text-align:center;
font-size:16px;
}
li{
パディング: .25rem .5rem;
}
a:hover{
color:#4ba0c8;
}
.nav-link{
}
.course-label{
font-family: 'Baloo Bhaijaan'、筆記体;
font-size:18px;
}
.images{
background-color:#191919; height:3rem; width:100%; position:fixed;
}
.images:hover{
背景色:#99d3ff;
color:#99d3ff;
}
@media (min-width:555px){
#nav-bar{
margin: 5% 5%; padding: 3% 3%; width: 10vw; height:10vw; color:#d2d2d2;
}
#form{
float:right; width:20rem; margin-right:1rem;
}
}
@media (min-width:360px) {
、{
margin-top:5rem;
}
#description{
font-size:16px;
}
#header-img{
font-size:20px;
}
#header{
font-size:30px;
}
}
<h1> <nav id="nav-bar"><pre class="brush:php;toolbar:false">height:4.5rem;
<ul> <li><a href="#">Community</a><li> <li><a href="#courses"><b>Catalog</b></a><li> <li><a href="#">Pricing</a><li> </ul><p></div><br> <div> <div><pre class="brush:php;toolbar:false"><hr></p> <p></div><br> <div><pre class="brush:php;toolbar:false"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Python-logo-notext.svg/1200px-Python-logo-notext.svg.png" alt="python"> <p></p> </div> </div>
以上が「position:fixed;」を設定した後、固定ヘッダーが下に移動するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。