html - 如何用白色笔画制作圆角梯形?
问题描述
我正在尝试制作一个带有白色笔划的梯形,但似乎无法弄清楚如何正确地做到这一点。
目标:
目前有:
.trapezoid {
height: 0;
width: 65px;
border-bottom: 40px solid #31cae8;
border-left: 10px solid transparent;
border-radius: 5px;
position: absolute;
z-index: 100;
border-right: 10px solid transparent;
text-align: center;
color: white
}
.trapezoid2 {
height: 0;
width: 80px;
left: 0;
border-bottom: 50px solid white;
border-left: 12px solid transparent;
border-radius: 5px;
border-right: 12px solid transparent;
text-align: center;
color: white
}
.flex {
display: flex;
align-items: center;
justify-content: center;
}
body {
background:pink;
}
<div class="flex">
<div class="trapezoid"></div>
<div class="trapezoid2"></div>
</div>
解决方案
通过一些转换,您可以做到:
.box {
width: 150px;
height: 100px;
margin: 15px;
position: relative;
}
.box::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: lightblue;
border: 5px solid #fff;
border-radius: 15px;
transform: perspective(200px) rotateX(30deg); /* this will do the trick */
}
/* the arrow shape */
.box::after {
content: "";
position: absolute;
width: 50px;
height: 50px;
background: #fff;
clip-path: polygon(0 0, 100% 50%, 0 100%);
left: 50%;
top: 50%;
transform: translate(-40%, -50%);
}
/**/
body {
background: pink;
}
<div class="box">
</div>
也像下面的倾斜变换:
.box {
width: 150px;
height: 80px;
margin: 15px;
position: relative;
}
.box::before,
.box::after{
content: "";
position: absolute;
top: 0;
bottom: 0;
width:50%;
background: lightblue;
border: 5px solid #fff;
transform-origin:bottom;
}
.box::before {
border-radius:15px 0 0 15px;
border-right:0;
left:0;
transform:skew(-10deg);
}
.box::after {
border-radius:0 15px 15px 0;
border-left:0;
right:0;
transform:skew(10deg);
}
body {
background: pink;
}
<div class="box">
</div>
推荐阅读
- serverless - Synapse Analytics 无服务器池上的 AD 直通身份验证失败
- c++ - 多个类需要访问一个静态变量
- .net-core - 在 MSDI IServiceCollection.AddTransient 服务中访问 MassTransit ConsumeContext
- html - 将值传递给 HTML 中的 <%- %> 变量
- java - Regex pattern to split string
- timezone - 与指定时区对齐的聚合窗口
- algorithm - 一台机器上的大图处理
- css - 单击徽标时无法触发功能
- jmeter - 通过验证 JSON 响应中的子元素来提取 id
- mongodb - mongoDb 连接字符串中的 +srv 是什么意思