【发布时间】:2023-03-10 08:12:01
【问题描述】:
注意:这个问题是关于输出的问题,不是关于任何形状的创建。
我最近创建了一个形状:
.prog {
position: relative;
top: 20px;
width: 150px;
height: 120px;
background: green;
display: inline-block;
transform: skewY(20deg);
transform-origin: 0% 100%;
transition: 0.8s ease;
}
.prog:before {
content: "";
position: absolute;
left: 150px;
width: 150px;
height: 120px;
background: red;
transform: skewY(-40deg);
transform-origin: 0% 100%;
transition: 0.8s ease;
}
<div class="prog "></div>
在上面的 sn-p 中,绿色的形状是.prog 元素,并且是倾斜的。红色的形状是:before第一个元素的伪元素。
我将.prog (skewY) 倾斜了 20 度。现在,我需要 :before 为 -20 度。为此,我首先必须对其进行调整。然后将其进一步倾斜 20 度。
所以最终的skewY 值将是-40deg。我应用了这个,并且适当的transform-origins。
但问题是两个形状的顶点没有对齐。他们应该,但他们不是。这是显示问题的图像:
黑线仅供参考。
现在更多!
我歪曲了-20 -20 而不是-40:
transform: skewY(-20deg) skewY(-20deg); <-- 这行得通!transform: skewY(-40deg); <---------------- 这不行!
【问题讨论】:
标签: css css-shapes css-transforms