Home >Web Front-end >CSS Tutorial >Why Does My Fixed Header Shift Downward After Setting `position: fixed;`?

Why Does My Fixed Header Shift Downward After Setting `position: fixed;`?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-10 19:17:14476browse

Why Does My Fixed Header Shift Downward After Setting `position: fixed;`?

Why does my title bar move down after setting it to fixed?

Question content

My title bar is placed between the page title and navigation bar, but when I set it to position:fixed; The margins have increased. The following is the Codepen link:

[Codepen link]

Question Answers

You encountered a problem called Margin Collapse problem. Setting the title bar to fixed moves it out of the normal document flow. Therefore, the form becomes the first normal document flow element. This means that the top margin of the form will collapse or overlap the top margin of the body element. 1

This means that the body element will have a larger top margin and your fixed element will be positioned relative to the body since you are not setting any top value. 2

To avoid this situation, you can choose the following method:

  • Disable margin folding (recommended): This works Avoid margin collapse and many other problems.
  • Set Top Value: Move the title bar to where you want it.

Resolved code:


<p>body {<br> padding-top:1px; /<em>Disable margin folding</em>/<br>}</p><p>#header{</p><pre class="brush:php;toolbar:false">background-color:#191919;
height:3rem;
width:100%;
position:fixed;

}

header-img{

font-family: 'Permanent Marker', cursive;
color:white;
margin-left:1.5rem;
float:left;
font-size:25px;
}
ul{
list-style:none;
display:flex;
flow-direction:row;
justify-content:space-around;
}

nav-bar{

background-color:#191919;
float:left;
width:100%;
}

form{

margin-top:45rem;
margin-left:25%;
margin-right:25%;
}

img{
width:70%;
height:70%;
}

a {
text-decoration:none;
font-family: 'Work Sans', cursive;
color:white;
font-size:12px;
}

email{

width:100%;
box-shadow:3px 3px 5px gray;
}

submit{

font-family:'Roboto', cursive;
font-size:14px;
font-weight:bold;
color:#686868;
box-shadow:3px 3px 5px grey;
padding: 5px 5px;
}

.catalog{
margin-left:10%;
margin-right:10%;
margin-top: 5rem;
width:90%;
float:left;
}

password{

width:100%;
box-shadow:3px 3px 5px gray;
}

video{

margin-top:5rem;
margin-left:25%;
margin-right:25%;
width:50%;
}

courses{

display:flex;
flow-direction:row;
flex-wrap:wrap;
}

description{

font-family: 'Oswald', cursive;
font-size: 20px;
text-align:center;
font-size:16px;
}

li{
padding: .25rem .5rem;
}

a:hover{
color:#4ba0c8;
}

.nav-link{

}

.course-label{
font-family: 'Baloo Bhaijaan', cursive;
font-size:18px;
}

.images{

background-color:#191919;
height:3rem;
width:100%;
position:fixed;

}

.images:hover{
background-color:#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){
a{

margin-top:5rem;

}
#description{

font-size:16px;

}
#header-img{

font-size:20px;

}
#header{

font-size:30px;

}
}

  <h1>  <nav id="nav-bar"></p>
<pre class="brush:php;toolbar:false">height:4.5rem;



Get started for free








python

The above is the detailed content of Why Does My Fixed Header Shift Downward After Setting `position: fixed;`?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn