-5
Q
困难的css形状
A
回答
1
是否有可能使用一个单一的元素,以使该形状?
是
div {
width: 80px;
height: 140px;
background: red;
position: relative;
}
div:before,
div:after {
content: "";
display: block;
width: 110%;
height: 60px;
background: white;
position: absolute;
left: -14px;
}
div:before {
transform: rotate(-20deg);
top: -40px;
}
div:after {
transform: rotate(20deg);
bottom: -40px;
}
<div></div>
注:一些调整,可能需要做得到它,只要你想,但你的想法。
我会推荐使用它进行裁剪吗?不可以。要创建此形状,:before
和:after
元素为白色(背景色),因此只有具有普通背景时才能使用。它可行但不是最好的。
1
解决方案1
如果您正在寻找使用纯色背景,你可以看看使用边界上的一些伪元素。
对于快速演示:
div {
background:url(http://lorempixel.com/300/300);
height:300px;
width:300px;
position:relative;
}
div:before, div:after {
content:"";
position:absolute;
left:0;
}
div:before{
top:0;
border-right:300px solid transparent;
border-top:100px solid white;
}
div:after{
bottom:0;
border-right:300px solid transparent;
border-bottom:50px solid white;
}
<div>
</div>
溶液2
另一种方法是使用透视和旋转(注意加前缀将需要。):
div{
width:200px;
height:200px;
transform:perspective(300px) rotateY(-20deg);
margin-top:50px;
overflow:hidden;
}
<div>
<img src="http://lorempixel.com/300/300"/>
</div>
替代
另外的替代品包括:
- SVG
- 剪辑路径(虽然browser support不艳)
相关问题
- 1. 在困难CSS样式形式
- 2. CSS定位困难
- 3. 在形式jQuery的困难
- 4. CSS和/或HTML困难
- 5. 检查布尔状态的困难
- 6. 定位javascript和css codeigniter的困难
- 7. css与100%高度的困难
- 8. 通过CSS设计名片的困难
- 9. Makefile的困难
- 10. 的fancybox困难
- 11. .submit的困难()
- 12. 困难的ARM
- 13. 的UIViewController困难
- 14. 洪水填写困难用C图形
- 15. CSS定位/调整大小困难
- 16. 理解困难以下CSS语法
- 17. 在使用动力学形状从组中选择一个形状的id时遇到困难?
- 18. document.getElementById()的困难值
- 19. 在困难的jqGrid
- 20. JFace的ComboViewer困难
- 21. 困难MooTools的Class.extend
- 22. disparying progressdialog的困难
- 23. string.toUpperCase困难
- 24. 发展困难
- 25. 定位困难
- 26. 困难DisqusSharp
- 27. HorizontalScrollView困难
- 28. 解析困难
- 29. 遇到困难
- 30. NerdDinner困难
您可能想要添加形状或任何示例代码的图像。 – Kariem