I have been trying to use a static image on my website, but there is a large gap between the header and the image, I’ve tried removing padding and changing the image height in Photoshop and in HTML.
Here’s a fiddle of my problem https://jsfiddle.net/o27w80ve/
section.module:last-child {
margin-bottom: 0;
}
section.module h2 {
font-family: "Roboto Slab", serif;
font-size: 30px;
}
section.module p {
margin-bottom: 40px;
font-size: 16px;
font-weight: 300;
}
section.module p:last-child {
margin-bottom: 0;
}
section.module.content {
padding: 40px 0;
color: #090C02;
}
section.module.content#section1 {
background-color: #b23783;
}
section.module.content#section2 {
background-color: #3783b2;
}
section.module.parallax {
height: 600px;
background-position: 50% 50%;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: cover;
}
section.module.parallax h1 {
color: #8FD5A6;
font-size: 48px;
line-height: 600px;
font-weight: 700;
text-align: center;
text-transform: uppercase;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
font-family: 'Julius Sans One', sans-serif;
}
section.module.parallax-1 {
background-image: url("https://i.imgur.com/YpRAOt3.jpg");
}
@media all and (min-width: 600px) {
section.module h2 {
font-size: 42px;
}
section.module p {
font-size: 20px;
}
section.module.parallax h1 {
font-size: 96px;
}
}
@media all and (min-width: 960px) {
section.module.parallax h1 {
font-size: 160px;
}
}
.header ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #1e1e20;
}
.header li {
float: right;
text-align: middle;
}
.header li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-family: 'Bitter', serif;
}
.header li:hover {
background-color: #fec10e;
color: black;
}
<header class="header">
<div>
<ul>
<li><a href="/">Testr Co.</a></li>
<li><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Blog</a></li>
</ul>
</div>
</header>
<section class="module parallax parallax-1">
<div class="container">
<h1>Example</h1>
</div>
</section>
2
Answers
That’s called “margin collapse.” The defaut
margin-top
on theh1
is collapsing outside of the parent.https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model/Mastering_margin_collapsing
After inspecting your code you can notice that the ‘section.module.parallax h1’ has a margin-top of 40px.
You need to use this (margin-top:0) to remove the gap.