如何制作带边框的梯形
How to make a trapezium with a border
我试图建立一个梯形,它有一个文本内容和一个边框(白色 1px 线)。
我找到了这样的例子:
height: 0;
width: 120px;
border-bottom: 120px solid #ec3504;
border-left: 60px solid transparent;
border-right: 60px solid transparent;
这是一个 png 示例,如果我将其用作具有透明颜色的背景,它会起作用,但有点乱七八糟,不太好...
"clip-path"貌似支持不够,请问还有其他方法吗? SVG 有可能吗?
提前致谢
您可以使用 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>
我试图建立一个梯形,它有一个文本内容和一个边框(白色 1px 线)。
我找到了这样的例子:
height: 0;
width: 120px;
border-bottom: 120px solid #ec3504;
border-left: 60px solid transparent;
border-right: 60px solid transparent;
这是一个 png 示例,如果我将其用作具有透明颜色的背景,它会起作用,但有点乱七八糟,不太好...
"clip-path"貌似支持不够,请问还有其他方法吗? SVG 有可能吗?
提前致谢
您可以使用 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>