最佳答案
我试图创建一个形状像下面的图片与一个 只有一边有斜边(例如,底部边缘) ,而其他边缘保持直线。
我尝试使用的边界方法(代码给出了下面) ,但我的形状的尺寸是动态的,因此我不能使用这个方法。
.shape {
position: relative;
height: 100px;
width: 200px;
background: tomato;
}
.shape:after {
position: absolute;
content: '';
height: 0px;
width: 0px;
left: 0px;
bottom: -100px;
border-width: 50px 100px;
border-style: solid;
border-color: tomato tomato transparent transparent;
}
<div class="shape">
Some content
</div>
我还尝试过使用渐变作为背景(如下面的代码) ,但随着尺寸的变化,它会变得一团糟。您可以在下面的代码片段中看到我所说的将鼠标停留在形状上是什么意思。
.gradient {
display: inline-block;
vertical-align: top;
height: 200px;
width: 100px;
margin: 10px;
color: beige;
transition: all 1s;
padding: 10px;
background: linear-gradient(45deg, transparent 45%, tomato 45%) no-repeat;
}
.gradient:hover {
width: 200px;
}
<div class="gradient"></div>
How can I create this shape with a slanted side and also be able to support dynamic sizes?