html - 如何在 CSS 中创建这种形状(带圆角的四边形)?
问题描述
我在 React Js 中构建一个小部件,在设计中,这个图像在背景中。
我的问题是背景颜色是动态的,宽度和高度可能会根据设备而变化。我尝试使用内联 SVG(我可以通过这种方式控制填充颜色,但不能控制大小)以及img
标签内的 SVG(我可以通过这种方式控制大小,但不能控制颜色),但我无法同时控制颜色和大小。
编辑 - 内联 SVG 代码片段 -
<svg width="360" height="349" viewBox="0 0 300 349" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 20C0 8.9543 8.95431 0 20 0H280C291.046 0 300 8.95431 300 20V187.023C300 194.606 295.711 201.537 288.925 204.921L0 349V20Z" fill="#5795fa"></path></svg>
我尝试改变那个宽度,但是 svg 是为那个特定的宽度创建的,所以它没有改变。
如果有人可以帮助我使用 CSS 或任何其他我可以控制颜色和大小的方式来创建这个形状,那就太好了。
任何帮助表示赞赏。
解决方案
这是我的解决方案
您可以更改外部宽度以检查(响应式)。
.outer {
width: 300px;
}
.upper-box {
width: 100%;
height: 150px;
background: blue;
border-radius: 15px 15px 15px 0;
}
.lower-box {
width: calc(100% - 12px);
height: 110px;
background: linear-gradient(to bottom right, blue 50%, transparent 50%);
}
<div class="outer">
<div class="upper-box"></div>
<div class="lower-box"></div>
</div>
推荐阅读
- c++ - 复制构造函数的奇怪副作用
- java - 使用 JSP 在 Spring MVC 中初始化有关菜单项选择的表单数据的最佳方法
- python - 从列表中创建具有多个变体的所有可能组合
- scala - 尝试顺序执行期货。怎么了?
- java - 使用枚举实现策略模式
- c# - 如何仅在 C# 的第一级解析嵌套括号
- ansible - 如何使用 ansible 获取符号链接或目录的日期时间戳?
- reactjs - 为什么在 Next.js 中导入 CSSRulePlugin 会导致错误?
- python - Python Scatter Plot Edgecolors by Label
- javascript - 有没有办法使用 Javascript 向多个元素添加不同的 ID?