CSS3 Transform Skew

有谁知道如何实现这样的倾斜: 使用CSS的新转换属性? 你可以看到我试图扭转两个角落,任何人都知道这是否可能?     
已邀请:
CSS:
#box {
    width: 200px;
    height: 200px;
    background: black;
    position: relative;
    -webkit-transition: all 300ms ease-in;
}
#box:hover {
    -webkit-transform: rotate(-180deg) scale(0.8);
}
#box:after, #box:before {
    display: block;
    content: "020";
    color: transparent;
    width: 211px;
    height: 45px;
    background: white;
    position: absolute;
    left: 1px;
    bottom: -20px;
    -webkit-transform: rotate(-12deg);
    -moz-transform: rotate(-12deg);
}
#box:before {
    bottom: auto;
    top: -20px;
    -webkit-transform: rotate(12deg);
    -moz-transform: rotate(12deg);
}​
HTML:
<div id=box></div>​
适用于Chrome和FF 4:http://jsfiddle.net/rudiedirkx/349x9/ 这可能会有所帮助:http://jsfiddle.net/rudiedirkx/349x9/2880/ 这也是(来自Erwinus的评论):http://css-tricks.com/examples/ShapesOfCSS/     
.red.box {
  background-color: red;
  transform: perspective( 600px ) rotateY( 45deg );
}
那么HTML:
<div class="box red"></div>
来自http://desandro.github.com/3dtransforms/docs/perspective.html     
我认为你的意思是webkit转换..请检查此URL http://www.the-art-of-web.com/css/3d-transforms/它可以帮到你。     
您可以一起使用-webkit-perspective和-webkit-transform。
<div style="-webkit-perspective:300;">
<div style="-webkit-transform:rotate3d(0, 1, 0, 30deg);width:200px;height:200px;background:#D73913;"></div>
</div>
这仅适用于Safari。     
使用此css代码。根据您的需要设置数字
-webkit-transform: translateX(16em) perspective(600px) rotateY(10deg);
-moz-transform: translateX(16em) perspective(600px) rotateY(10deg);
-ms-transform: translateX(16em) perspective(600px) rotateY(10deg);
-o-transform: translateX(16em) perspective(600px) rotateY(10deg);
transform: translateX(16em) perspective(600px) rotateY(10deg);
    
如果您需要,请使用矩阵3d。
  transform:matrix3d(
  1,0,1,0.003,
  0,1,0,0,
  0,0,1,0,
  0,0,0,1);
http://codepen.io/Logo/pen/jEMVpo     
.size{
   width: 200px;
   height: 200px;           
}
.boxContainer{
  -webkit-perspective:100;
}
.box{
  background: blue;
  -webkit-transform-origin-x:0;
  -webkit-transform: rotateY(10deg);
}


    <div class="size boxContainer">
        <div class="size box">

        </div>
    </div>
这对我有用。     
另外2种方法: 如https://css-tricks.com/examples/ShapesOfCSS/#trapezoid所示,您可以使用
border
#box {
  border-left: 200px solid black;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  width: 0;
  height: 100px;
}
但它不能有内容,因为它是全部边界。 示例:http://jsfiddle.net/rudiedirkx/349x9/3112/ 使用CSS'实际'倾斜'变换:
#box {
  width: 200px;
  height: 170px;
  margin-top: 30px;
  background-color: black;
  transform: skewY(10deg);
  position: relative;
  z-index: 1; /* doesn't work? */
}
#box:before {
  content: "";
  display: block;
  width: 200px;
  height: 80px;
  position: absolute;
  bottom: -40px;
  left: 0;
  background-color: black;
  transform: skewY(-20deg);
  z-index: -1; /* doesn't work? */
}
我似乎无法将伪元素定位在主元素后面,因此伪实际上落在主元素的内容上(如果有的话)。 示例:http://jsfiddle.net/rudiedirkx/349x9/3113/     

要回复问题请先登录注册