viewBox

viewBox属性允许指定一个给定的一组图形伸展以适应特定的容器元素。
---MDN

什么意思呢?举个例子。
有这样一个 svg 的文档

  <svg version="1.1" baseProfile="full" width="300" height="300"
    xmlns="http://www.w3.org/2000/svg">
    <line x1="50" y1="50" x2="250" y2="250" stroke="#e91e63f0" stroke-width="140" />
    <line x1="50" y1="250" x2="250" y2="50" stroke="#1430cebd" stroke-width="140" />
  </svg>

文档指定了宽高都是 300px, 里面的 line 都是根据 300 这个单位,来绘制的起点还有终点。现在如果宽高不再是固定的 300px 比如变成了相对的单位 vw, 那怎么在不改变 Line 内部的代码的情况下使得图像的大小伸缩呢?可以给 svg 添加 viewBox 属性,表示一个视口(不同于 viewPort)的大小

  <svg version="1.1" baseProfile="full" width="50vw" height="50vw" viewBox="0 0 300 300"
    xmlns="http://www.w3.org/2000/svg">
    <line x1="50" y1="50" x2="250" y2="250" stroke="#e91e63f0" stroke-width="140" />
    <line x1="50" y1="250" x2="250" y2="50" stroke="#1430cebd" stroke-width="140" />
  </svg>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容