我正在构建一个React应用,有一部分需要制作一个倾斜的div,它也具有背景图像。
形状类似于此处显示的蓝色div-slanted div shape 现在,我可以按照所链接的图像所示进行操作,但是由于有背景图像,因此我无法使用它,因为我必须在2格内使用它。
所以,我想使用svg与背景一起创建形状,然后在该div中添加其他内容,例如文本。 所以,我应该怎么做才能做到这一点。
这是我正在尝试的方法,但是我无法同时显示背景图像和倾斜图像。 只是想补充一点,这个svg在这样的网格内。这是用于布局的材质ui网格。 我希望该图像将网格的整个空间用作背景图像。而且我会像往常一样在此网格上写文本。
<Grid container >
<Grid item xs={12} sm={12} md={12} lg={12} className='mscbackground' >
<h2> asfasfdasdfasfdasfd <span className='blueword'> ASDFASDFASDF</span> </h2>
JLSAKSJFDKLAJSLKDFJALKSJFDKLAJSLKFDJALKSJFDLKJLKSDJFLKJALKSDJFLKAJSDLKFJALKSJDFKLAJSLDKFJaksjdflkajsldfkjalkdfjslakjdslkfjalksdjflkasjdfkljalskdjflkasjdflkjalksdjflkasjdlkjflkasdjflkajsdlkfjalksdjflkasjdlfkj
</Grid>
</Grid>
在我使用过的css中
.mscbackground {
height: 450px;
padding-top: 50px;
padding-left: 50px;
line-height: 2.5;
text-align: center;
color: #D9D9D9;
width:100%;
background:
linear-gradient(to bottom right,transparent 49%,#fff 50%) bottom/100% 7% no-repeat,
url('./assets/black-and-white-music-headphones-life.jpg')center/cover no-repeat;
}
但是它不起作用。完全没有显示背景图片。
所以,有什么想法可以使这项工作实现吗?
答案 0 :(得分:1)
您不能为path
添加背景。使用SVG,您可以考虑如下的剪切路径:
svg {
width:200px;
}
<svg viewbox="0 0 300 200">
<defs>
<clipPath id="circle">
<polygon points="0,0 300,0 300,100 0,200" fill="white" />
</clipPath>
</defs>
<image width="300" height="200" xlink:href="https://picsum.photos/300/200?image=0" clip-path="url(#circle)"/>
</svg>
如果您不需要透明度,这是使用CSS的简单解决方案:
.box {
height:200px;
width:300px;
background:
linear-gradient(to bottom right,transparent 49%,#fff 50%) bottom/100% 40% no-repeat,
url(https://picsum.photos/300/200?image=0) center/cover no-repeat;
}
<div class="box">
</div>