<header>
<!-- First container -->
<div class="container container_solid">
<div class="title_wrapper">
<h1>The Great Outdoors</h1>
</div>
</div>
<!-- Second container -->
<div class="container container_image">
<div class="title_wrapper">
<h1>The Great Outdoors</h1>
</div>
</div>
</header>
.container {
/* hide fixed overflow contents */
clip: rect(0, auto, auto, 0);
/* safari hack */
-webkit-mask-image: -webkit-linear-gradient(top, #ffffff 0%,#ffffff 100%);
/* does not work if overflow = visible */
overflow: hidden;
/* only works with absolute positioning */
position: absolute;
/* Make sure containers are full-width and height */
height: 100vh;
left: 0;
width: 100%;
}
.container_solid {
background: white;
/* position this container at the top of its parent element */
top: 0;
}
.title_wrapper {
position: fixed;
display: block;
margin: auto;
width: 100%;
/* center the text wrapper vertically */
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
.title_wrapper h1 {
text-align: center;
}
.container_solid .title_wrapper h1 {
/* the text background */
background: url(https://images.unsplash.com/photo-1575058752200-a9d6c0f41945?&q=85);
background-size: 100vw auto;
background-position: center;
/* clip the text is possible */
text-fill-color: transparent;
-webkit-text-fill-color: transparent;
background-clip: text;
-webkit-background-clip: text;
/* fallback text color */
color: black;
}
.container_image {
/* Grab a free image from unsplash */
background-image: url(https://images.unsplash.com/photo-1575058752200-a9d6c0f41945?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&ixid=eyJhcHBfaWQiOjE0NTg5fQ);
background-size:100vw auto;
background-position: center;
background-attachment: fixed;
/* position the second container below the first container */
top: 100vh;
}
.container_image .title_wrapper h1 {
color: white;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.