css - SVG“填充”与“中风”重叠
问题描述
有一个圆圈,它有fill
和stroke
。但我看到fill
颜色有点重叠stroke
。当我这样做stroke
时none
,我松开了以前的圆半径,因为它的空间被释放了。
我期望它fill
的行为与CSSstroke
中的 and 相同,但事实并非如此。我不能将它们设置为具有相同不透明度的相同颜色,因为它们会重叠,我会看到另一种颜色出现。background
border
fill
stroke
两者都fill
设置stroke
为红色,不透明度相同。
我该怎么做,所以在开始的fill
地方停下stroke
来(具有相同的颜色fill
和stroke
不透明度),并且我的颜色没有任何边界?
解决方案
stroke-alignment
尽管它是一个从未实现的 CSS 功能,但您正在寻找- 请参阅https://www.w3.org/TR/svg-strokes/#SpecifyingStrokeAlignment。
对于简单的几何图形,您可以通过复制结构和调整来实现。
#c1 {
fill: red;
fill-opacity: 0.3;
stroke: none;
}
#c2 {
stroke: green;
stroke-opacity: 0.3;
fill: none;
}
<svg viewBox="0 0 40 40">
<circle id="c1" cx="20" cy="20" r="11.5" stroke-width="3"></circle>
<circle id="c2" cx="20" cy="20" r="13" stroke-width="3"></circle>
</svg>
或者通过更改元素的不透明度,而不是属性。
svg circle {
opacity: 0.3;
fill: red;
stroke: green;
}
<svg viewBox="0 0 40 40">
<circle cx="20" cy="20" r="13" stroke-width="3"></circle>
</svg>
推荐阅读
- php - 如何在子文件夹中包含文件
- linux - 如何在 shell 脚本中将 function_1 的输出转换为 function_2?
- python - 我的搜索查询不起作用并显示以下错误,:TypeError: not all arguments convert during string formatting
- javascript - 如何清除按钮单击
- wordpress - 根据在 WooCommerce 中选择的产品类别查询以获取属性?
- python - 如何找到大于平均值/中位数的平均工资
- python - 我们如何用 SQL 比较 python 中的两个对象和数据的内容?
- python - 400 Bad Request:浏览器(或代理)发送了一个服务器无法理解的请求
- java - 具有相同数据类型代码的相同逻辑代码在 Java 中传递,但在 C++ 中不传递?
- regex - 使用负前瞻的正则表达式缺少 group2 的第一个字符