Gradient over cover?

How do I have a gradient layer above the cover?

For instance:

header {
  position: relative;
  height: 300px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-image: url('http://www.planwallpaper.com/static/images/Free-Wallpaper-Nature-Scenes.jpg');
  background-size: cover;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
}

h1 {
  margin: 0;
  padding: 100px 0;
  font: 44px "Arial";
  text-align: center;
}

header h1 {
  color: white;
}
<header>
  <h1>Header Content</h1>
</header>

<section>
  <h1>Section Content</h1>
</section>
Run codeHide result

I want this gradient above this image:

background-image: linear-gradient(to bottom right, #002f4b, #dc4225);

Is it possible?

+4
source share
4 answers

Use rgbawith transparency and double background-image.

header {
  position: relative;
  height: 300px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-image: linear-gradient(to bottom right, rgba(0, 47, 75, .5), rgba(220, 66, 37, .5)), url('http://www.planwallpaper.com/static/images/Free-Wallpaper-Nature-Scenes.jpg');
  background-size: cover;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
}
h1 {
  margin: 0;
  padding: 100px 0;
  font: 44px "Arial";
  text-align: center;
}

header h1 {
  color: white;
}
<header>
  <h1>Header Content</h1>
</header>

<section>
  <h1>Section Content</h1>
</section>
Run codeHide result
+3
source

You can define multiple backgrounds and then set background-blend-modeto multiply. Something like that

header {
  position: relative;
  height: 300px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  background-blend-mode: multiply;
  background: linear-gradient(to bottom right, #002f4b, #dc4225), url('http://www.planwallpaper.com/static/images/Free-Wallpaper-Nature-Scenes.jpg');
  background-size: cover;
}

h1 {
  margin: 0;
  padding: 100px 0;
  font: 44px "Arial";
  text-align: center;
}

header h1 {
  color: white;
}
<header>
  <h1>Header Content</h1>
</header>

<section>
  <h1>Section Content</h1>
</section>
Run codeHide result
+6
source

:

header {
  position: relative;
  height: 300px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-image: url('http://www.planwallpaper.com/static/images/Free-Wallpaper-Nature-Scenes.jpg');
  background-size: cover;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
}

header:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to bottom right,#002f4b, #dc4225);
    opacity: .6; 
    border-bottom-left-radius: 50%;
    border-bottom-right-radius: 50%;
}

h1 {
  margin: 0;
  padding: 100px 0;
  font: 44px "Arial";
  text-align: center;
}

header h1 {
  color: white;
}
<header>
  <h1>Header Content</h1>
</header>

<section>
  <h1>Section Content</h1>
</section>
Hide result
+4

. , opacity.

header {
  position: relative;
  height: 300px;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-image: url('http://www.planwallpaper.com/static/images/Free-Wallpaper-Nature-Scenes.jpg');
  background-size: cover;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  z-index: -1;
}

h1 {
  margin: 0;
  padding: 100px 0;
  font: 44px "Arial";
  text-align: center;
}

header h1 {
  color: white;
}

div#gradient {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 300px;
 background-image: linear-gradient(to bottom right, #002f4b, #dc422b);
 border-bottom-left-radius: 50%;
 border-bottom-right-radius: 50%;
 z-index: -1;
 opacity: 0.75;
}
<header>
  <div id="gradient"></div>
  <h1>Header Content</h1>
</header>

<section>
  <h1>Section Content</h1>
</section>
Hide result
+1

Source: https://habr.com/ru/post/1680551/


All Articles