【问题标题】:How to make a trapezium with a border如何制作带边框的梯形
【发布时间】:2017-06-17 23:30:53
【问题描述】:
我试图构建一个梯形,它有一个文本内容和一个边框(白色 1px 线)。
我找到了这样的例子:
height: 0;
width: 120px;
border-bottom: 120px solid #ec3504;
border-left: 60px solid transparent;
border-right: 60px solid transparent;
这是一个 png 示例,如果我将其用作具有透明颜色的背景,它会起作用,但有点像 hack 并且不那么好......
"clip-path" 好像还不够支持,还有其他方法吗? SVG有可能吗?
提前致谢
【问题讨论】:
标签:
css
svg
tabs
shape
clip-path
【解决方案1】:
您可以使用pseudo-element 并在父级上使用perspective 来创建该形状作为背景。
body {
background: lightblue;
}
div {
width: 150px;
height: 40px;
padding: 20px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
-webkit-perspective: 130px;
perspective: 130px;
margin: 50px;
}
div:after {
position: absolute;
width: 100%;
height: 100%;
background: lightgreen;
border: 1px solid white;
content: '';
left: 0;
top: 0;
z-index: -1;
-webkit-transform: rotateX(20deg) rotateY(0deg);
transform: rotateX(20deg) rotateY(0deg);
}
<div>Some text</div>