html - SVG:如何圆化笔划和矩形 Angular ?

标签 html css svg

是否可以在 SVG 中对矩形进行圆 Angular 处理,同时确保描边符合 Angular 的圆度?以下代码无效。

无中风:

stroke-width="0px"

<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
    <rect width="100%" height="100%" stroke="red" stroke-width="0px" rx="10px" ry="10px" stroke-linejoin="round" />
</svg>

有中风:

stroke-width="10px"

<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
    <rect width="100%" height="100%" stroke="red" stroke-width="10px" rx="10px" ry="10px" stroke-linejoin="round" />
</svg>

笔划似乎是沿着原来的尖 Angular 而不是圆 Angular 。

最佳答案

<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
    <rect width="100%" height="100%" stroke="red" stroke-width="10px" rx="10px" ry="10px" stroke-linejoin="round" />
</svg>

宽字符串超出 Canvas SVG 的 svg 边界。因此,字符串被部分裁剪。

enter image description here

您必须减小矩形的大小以便线条可见,并将矩形的左上角向右和向下移动 x="5"y="5"

<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">
    <rect x="5" y="5" width="90" height="90" stroke="red" stroke-width="10px" rx="10px" ry="10px" stroke-linejoin="round" />
</svg>

更新

添加了 View 框。矩形 xy 的坐标增加,SVG 包裹在一个容器中,可以作为一个单独的 block 嵌入到 HTML 页面中。 自适应应用

.container {
width:30%;
height:30%
}
<div class="container">
<svg  viewBox="0 0 110 110" xmlns="http://www.w3.org/2000/svg">
    <rect x="10" y="10" width="90" height="90" stroke="red" stroke-width="10px" rx="10px" ry="10px" stroke-linejoin="round" />
</svg>
</div>

enter image description here

从图中可以看出,一个宽边的正方形完全在SVG Canvas 内部

关于html - SVG:如何圆化笔划和矩形 Angular ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58925105/

相关文章:

html - 如何垂直居中CSS三 Angular 形

javascript - 响应覆盖 div 下的链接

html - IE7 中的 border-collapse 属性问题

html - SVG 滤镜 <feOffset> - 可以设置像素值中的 dx 和 dy 吗?

ionic-framework - Ionic 4 更改图像填充颜色

html - 在容器中居中响应式 svg 圆圈

php - 如何在PHP中获取html&lt;input type ="hidden">的值?

jquery .on ('click' ) 同时切换此 li 元素的 css + 调用函数

html - 页面打印后字段周围的边框不可见

css - 伪类first-of-type影响所有按钮