css - 绘制一条在图像拉伸(stretch)时不会变粗的线

标签 css svg

在 SVG 中有没有一种方法可以在拉伸(stretch)图像时绘制一条保持细的线?

我使用 SVG 图像作为 CSS 背景,如下所示:

<svg ... preserveAspectRatio="none" viewBox="0 0 15 15">
  <line x1="0" y1="15" x2="15" y2="0"
        color="#000" stroke="#333" stroke-width="1" />
</svg> 

(对 Angular 线)。我通过一个矩形元素拉伸(stretch)此图像,当元素更大时,线条会变粗,但我需要一条始终很细的线条。

可能吗?类似于 Flash 中的“细”线。

最佳答案

在实现 SVG 1.2T 的浏览器中,你可以有一个 non-scaling stroke Opera 和 Webkit 以及版本 15 的 Firefox 都支持这一点。

<!-- via property -->
<line … vector-effect="non-scaling-stroke" />

<!-- via CSS -->
<style>
  line { vector-effect:non-scaling-stroke }
</style>
<line … />

关于css - 绘制一条在图像拉伸(stretch)时不会变粗的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10160262/

相关文章:

javascript - JS/CSS - 保持 td 元素的宽度

javascript - 单击下一个菜单标题取消切换上一个菜单

android - VectorDrawable 未居中对齐

html - SVG 图像不会在设置最大宽度/高度时保留其纵横比

html - 如果给出描述时文本包含特殊符号,则悬停文本会被破坏

html - 如何设置文本光标在表单域中的位置

javascript - html css toggle 在 facebook 导航中单击时显示/隐藏 div 框?

html - 尝试在 DIV 中使多边形响应

javascript - SVG 图层图像不会在 Mobile Safari 中以纵向模式显示

Angular svg不同实例共享相同的defs