我有一个父容器宽度为3(或更多)的子div的包括图像。当我倾斜我的子div时,它们比父div大,所以它们不能很好地倾斜。
我想做到这一点:
我尝试了以下方法:
<div class="parent">
<div class="child">
<!-- Image -->
</div>
<div class="child">
<!-- Image -->
</div>
<div class="child">
<!-- Image -->
</div>
</div>
具有以下样式:
.parent{
display:flex;
flex-wrap:wrap;
justify-content: space-between;
}
.child{
width:30%;
height:375px;
transform: skew(-45deg);
overflow:hidden; //Because i want to insert images inside it
transform-origin: bottom right;
background:red;
}
但这给予我的不是正确的结果
所以澄清一下,这就是我想要的:
但我得到的是
1条答案
按热度按时间zyfwsgd61#
对于45度的倾斜,如果我们考虑三个红色方块,然后倾斜,这可以实现。他们需要有25%的宽度,而不是30%,以留出足够的空间给最后一个孩子的倾斜部分。
对于整个容器的任何纵横比,一种方法是将其与子元素的直接父元素分离。
这个代码段有一个长宽比为1 / 1的容器(如注解中给出的)。高度已被设置为100 vh只是为了这个演示。
子节点的父节点在其内部,宽度计算为坐在整个容器的四分之三加上差距的余量。
差距被设置为CSS变量,因此可以根据需要轻松更改。