css - 用css放两个圆形梯形,
问题描述
我很难解决这个问题:
我想用css做这个:
像图片一样:两个带圆角的梯形(重要!),一个带文字的梯形,一个带图片或图标的梯形,带图标的梯形尺寸可以细一些,但两个梯形尺寸必须相同。
我不知道是否应该使用 svg 作为背景或纯 css。如果我使用 svg,如何在带圆角的梯形内插入文本和图标?
预先感谢您的帮助。
解决方案
这是另一个想法,一个元素和更少的代码。只需依靠 skew 和两个伪元素:
.box {
height: 100px;
position: relative;
z-index: 0;
overflow: hidden;
}
.box:before {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 60%;
background: blue;
border-top-right-radius: 30px;
transform: skewX(25deg);
transform-origin: bottom left;
}
.box:after {
content: "";
position: absolute;
top: 0;
bottom: 0;
right: 0;
width: 40%;
background: blue;
border-bottom-left-radius: 30px;
transform: skewX(25deg);
transform-origin: top right;
}
<div class="box">
</div>
推荐阅读
- reactjs - 使用变量类型反应 Typescript 组件(来自道具)
- html - 使用 flexbox 使动态对象居中
- html - 使用 position: relative 将文本和图像定位为水平居中
- keras - 在 Keras CNN 中可视化深层过滤器
- python - 重新启动目录/在运行代码的过程中清除脚本中的一系列特定行
- automated-tests - 从 CI 运行 testcafe 时 IE 不会打开
- mysql - 试图计算自年初以来每个分店的总销售额
- python - 检索python spark数据框中的嵌套列
- forms - 嵌入在 GUI 中的 Qt 表单导致缩小到最小尺寸
- c# - OrderBy 和接受 LINQ