我发布的代码正在做我想做的事,但我想从CSS中删除linear-gradient
。问题是当我把它拿出来时,它会影响背景图像的显示方式。
.hero-cover {
background-image: -webkit-linear-gradient(270deg,rgba(0,0,0,.55),rgba(0,0,0,.55)),url(http://monstacdn.com/dd/images/assets/cover.jpg);
background-image: linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.55)),url(http://monstacdn.com/dd/images/assets/cover.jpg);
background-position: 0 0,50% 100%;
background-size: auto,cover;
}
<div class="section hero-cover">
<div style="padding:100px;"></div>
</div>
如果您只是从background-image
声明中删除梯度,而不同时修改background-position
和background-size
声明,这就是问题所在。执行此操作时,每个声明中的第一个值将应用于图像,第二个值将变为未使用状态。这就是导致图像显示不同的原因。(请注意,渐变在 CSS 中也被视为图像。
这里的要点是在修改、添加或删除分层背景时要非常小心。如果背景样式分布在多个手写声明中,请确保编辑所有样式。在这种情况下,您还需要从background-position
中删除0 0
并从background-size
中删除auto
:
.hero-cover {
background-image: url(http://monstacdn.com/dd/images/assets/cover.jpg);
background-position: 50% 100%;
background-size: cover;
}
<div class="section hero-cover">
<div style="padding:100px;"></div>
</div>