我有一些包含图像和文本的 flex 框。
.bItem {
display: flex;
display: block;
justify-content: flex-end;
flex-direction: column;
position: absolute;
top: 0;
right: 9px;
bottom: 0;
left: 9px;
padding: 18px;
background-size: cover;
background-position: center center;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div class="box">
<a class="bItem" href="/about/" style="background-image:url(/images/one.jpg);" >
<div class="bText white">
<h3>TITLE</h3>
Additional text here.</div>
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
我假设这样的事情,附加到.bItem会工作:
background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
Run Code Online (Sandbox Code Playgroud)
有没有办法可以将它附加到.bItem,最好不必添加另一个类?
我遇到的问题是文本难以阅读,带有白色文本,底部的黑色渐变将有助于使其更清晰。
Mic*_*ker 13
您不能在同一个元素上同时使用渐变和背景图像,因为两者都是background-image. 但是您可以将渐变分配给 的伪元素.bItem,因此您不必为它包含额外的元素。此外,您可以只使用transparentandblack而不是rgba()
.bItem {
display: flex;
justify-content: flex-end;
flex-direction: column;
position: absolute;
top: 0;
right: 9px;
bottom: 0;
left: 9px;
padding: 18px;
background-size: cover;
background-position: center center;
background-image: url(http://kenwheeler.github.io/slick/img/fonz1.png);
}
.bItem:after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to bottom, transparent 0%, black 100%);
}Run Code Online (Sandbox Code Playgroud)
<div class="box">
<a class="bItem" href="/about/">
<div class="bText white">
<h3>TITLE</h3> Additional text here.</div>
</a>
</div>Run Code Online (Sandbox Code Playgroud)