是否可以用CSS将背景设置为相同的形状?
带有 css 的预期图像
.cover {
margin: 0;
height: 70vh;
width: 60vw;
background-color: #073faa;
border-radius: 0px 30px 30px 0px;
transform-origin: bottom left;
-ms-transform: skew(-30deg, 0deg);
-webkit-transform: skew(-30deg, 0deg);
transform: skew(-30deg, 0deg);
border-radius:0px 10px 10px 0px
}Run Code Online (Sandbox Code Playgroud)
<div class="cover"></div>Run Code Online (Sandbox Code Playgroud)
由于它是纯色,请使用倾斜和旋转,如下所示:
.cover {
height: 70vh;
position:relative;
overflow:hidden;
}
.cover::before {
content: "";
position: absolute;
inset: 0 -20% 0 0;
border-radius: 0px 30px 30px 0px;
transform-origin:top left;
transform: skew(-14deg) perspective(80px) rotateY(4deg);
background-color: #073faa;
}Run Code Online (Sandbox Code Playgroud)
<div class="cover"></div>Run Code Online (Sandbox Code Playgroud)
也像下面一样带有额外的包装:
.cover {
height: 70vh;
position:relative;
overflow:hidden;
}
.cover div,
.cover div::before {
content: "";
position: absolute;
inset:0 ;
overflow:hidden;
transform-origin:top left;
border-radius: 0px 30px 30px 0px;
}
.cover div {
transform: skew(-14deg);
}
.cover div::before {
transform: skewY(-5deg);
background-color: #073faa;
}Run Code Online (Sandbox Code Playgroud)
<div class="cover">
<div></div>
</div>Run Code Online (Sandbox Code Playgroud)