如何在封面图像上设置渐变图层?
例如:
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>
&#13;
我希望这个渐变覆盖该图像:
background-image: linear-gradient(to bottom right, #002f4b, #dc4225);
有可能吗?
答案 0 :(得分:6)
您可以定义多个背景,然后将background-blend-mode
设置为multiply
。像这样的东西
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>
答案 1 :(得分:6)
使用透明度rgba
并加倍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;
}
&#13;
<header>
<h1>Header Content</h1>
</header>
<section>
<h1>Section Content</h1>
</section>
&#13;
答案 2 :(得分:4)
您可以在:before或:after元素
上添加叠加层
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>
答案 3 :(得分:1)
注意:您可以使用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;
}
&#13;
<header>
<div id="gradient"></div>
<h1>Header Content</h1>
</header>
<section>
<h1>Section Content</h1>
</section>
&#13;