2016-12-28 126 views
2

例如,我有这样一个图: Default imageCSS3弯曲/透视效果

我需要使它像与CSS3。在顶部有一种透视图(区域标有红色边框): Image with perspective

是否有可能仅使用1图像和CSS3样式来制作这样的效果?

+0

您应该使用这个工作,怎么样使用投影预先存在像d3.js这样的库?它有各种预测帮助你解决极地地区周围扭曲的土地面积问题。纯粹的CSS修复只是一种解决方法和解决方案。 – Terry

回答

2

我已经设置了一个div作为背景图片。

在伪元素上,具有相同的背景,并且此伪元素具有旋转和透视的变换。

另一个伪,在相同的位置,以掩盖原始图像的上半部分

.test { 
 
    width: 600px; 
 
    height: 230px; 
 
    border: solid 1px red; 
 
    background-image: url(https://i.stack.imgur.com/wQ1Bp.png); 
 
    background-size: 600px 230px; 
 
    position: relative; 
 
} 
 
.test:after, 
 
.test:before { 
 
    content: ""; 
 
    width: 100%; 
 
    height: 30%; 
 
    top: 0px; 
 
    position: absolute; 
 
} 
 
.test:before { 
 
    background-color: white; 
 
} 
 
.test:after { 
 
    background-image: inherit; 
 
    background-size: inherit; 
 
    border: solid 1px green; 
 
    transform: perspective(400px) rotateX(50deg); 
 
    transform-origin: center bottom; 
 
}
<div class="test"></div>