CSS转换将形状倾斜为梯形

use*_*486 16 css css-transforms css-shapes

我希望能够以下面的图像显示方式扭曲元素.

菱形

我一直在玩它,但似乎无法接近复制那个形状.

我的css代码是

transform:skew(30deg,30deg);
Run Code Online (Sandbox Code Playgroud)

改造甚至是正确的方法吗?请让我知道最好的,最兼容浏览器的解决方案.

Kin*_*ing 23

您可以围绕X轴应用一些旋转变换并pespective在之前应用适当的:

div {    
  width:300px;
  height:200px;
  background:url(http://placekitten.com/300/200);
  border:2px solid red;    
  border-top-width:4px;
  border-bottom-width:1px;
  -webkit-transform: perspective(200px) rotateX(40deg);    
  margin:100px;
}
Run Code Online (Sandbox Code Playgroud)

演示


sup*_*per 0

尝试这个:

网页

<div class="trapezium"></div>
Run Code Online (Sandbox Code Playgroud)

样式表

.trapezium {
    border-bottom: 80px solid #fff;
    border-left: 45px solid transparent;
    border-right: 45px solid transparent;
    padding: 0 8px 0 0;
    height: 0;
    width: 120px;
    position: relative;
    margin: 2em auto;
}

.trapezium:before {
    border-bottom: 90px solid #000;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    padding: 0 8px 0 0;
    height: 0;
    width: 130px;
    position: absolute;
    bottom: -85px;
    left: -55px;
    content: "";
    z-index: -1;
}
Run Code Online (Sandbox Code Playgroud)

这里是Demo