我试图创建一个如下图所示的形状,仅在一侧(例如,底侧)具有倾斜边缘,而其他边缘保持笔直.

我尝试使用border方法(代码如下),但我的形状的尺寸是动态的,因此我不能使用这种方法.
.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;
}Run Code Online (Sandbox Code Playgroud)
<div class="shape">
Some content
</div>Run Code Online (Sandbox Code Playgroud)
我也尝试使用渐变作为背景(如下面的代码所示),但随着尺寸的变化,它会变得混乱.你可以通过悬停在下面代码片段中的形状来看到我的意思.
.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;
} …Run Code Online (Sandbox Code Playgroud)我正在创建一个javascript小部件来调整邻近div的大小,以便在用户将鼠标悬停在其上时显示更多div的背景图像.这很简单,并且可以很好地处理具有直边(显然)的div.然而,边界'需要'倾斜.
是否有一种简单的方法使用css3在2个DOM元素之间形成倾斜的边界?
我遇到过css3转换(即倾斜)和对角线边界技巧(使用半色,半透明),但这些似乎都无法实现我所需要的.
我想要实现的效果就像在这张图片中:
