我正在尝试为div设置一个背景图像,并添加一个颜色覆盖。使用普通CSS,这看起来像这样:
.backgroundImage {
background-image:
linear-gradient(to bottom, rgba(245, 246, 252, 0.52), rgba(117, 19, 93, 0.73)),
url('../img/backgroundimage.jpg');
width: auto;
height: 40vh;
background-size: cover;
}
这种CSS方法对我来说不起作用,因为我构建的组件将被动态填充(不同的图片、文本内容等)。
我试过导入一个图像,并做同样的css上面提到的。不知何故,我可以设置背景图像,但不能让渐变覆盖工作在我的风格对象。
所以我的下一个方法是将我的div Package 在另一个div中,并在那里设置渐变。这似乎也不起作用...
我希望有比我聪明的人能回答这个问题。
干杯!干杯!
const wrapperPictureBox {
background: "linear-gradient(to bottom, rgba(245, 246, 252, 0.52), rgba(117, 19, 93, 0.73))"
}
const pictureBox = {
background: ` url(${backgroundimage})`,
height: "40vh",
backgroundSize: "cover",
};
<div style={wrapperPictureBox}>
<div style={pictureBox}>text</div>
</div>
2条答案
按热度按时间ne5o7dgx1#
你可以用CSS变量的方式。这个codepen演示。
基本上,在
React
文件中:在CSS中:
如果梯度也必须是动态的,则类似的方法应该仍然有效。
ndasle7k2#
第一个答案很有效。
我只是添加了您希望使用的另一个选项。
您可以将img url设置为PROPS,以使您的代码更加动态和健壮。
以下是我的使用案例:
我的CSS看起来非常小,可以帮助您将所有内容集中在分区内