关于前端:SVG-入门

60次阅读

共计 914 个字符,预计需要花费 3 分钟才能阅读完成。

外围劣势

  • XML 的格局,容量较小
  • 比拟灵便,能够批改款式

自适应缩放

  • viewport:是 SVG 的可视区域,就是 SVG 的属性 widthheight 的范畴,来到可视区域外的内容是不会被渲染的。
  • viewBox:用于画布上制作 SVG 图形的坐标零碎(viewBox="x, y, width, height")默认和 viewBox 统一。

    <svg width="20px" height="20px" viewBox="0 0 20 20">xxx</svg> 
    • 如果进行手动指定,SVG 会进行主动换算缩放比:width/viewBox.widthheight/viewBox.height

      <svg width="500" height="200" viewBox="0 0 50 20" style="border: 1px solid #000;">
        <rect x="20" y="10" width="10" height="5" style="stroke: #000; fill: none;"/>
      </svg> 

      Tip:viewBox 个别作为动态值须要固定下来,widthheight 是能够动静批改的

  • preserveAspectRatio:保留宽高比,当 viewportviewBox 宽高比不雷同时,指定在 viewport 中的绘制区域,默认值是 xMidYMid meet

    • meet:示意固定宽高比,并将 viewBox 缩放为 viewport 的大小

      meet 模式下,最终压缩比优先驳回压缩比拟小的。(设置 yMid/yMin/yMax 都一样)

    • slice:放弃宽高比并将所有不在 viewport 中的 viewBox 裁掉

      slice 模式下,最终压缩比优先驳回压缩比拟大的。(设置 xMid/xMin/xMax 都一样)

    • xMidyMid:(x 轴和 y 轴一样)

      • xMidviewBoxx 轴的中点在 viewportx 轴中点
      • xMinviewBoxx 轴的终点 (最小边) 在 viewportx 轴终点(最小边)
      • xMaxviewBoxx 轴的起点 (最大边) 在 viewportx 轴起点(最大边)
    • none:不放弃宽高比,缩放图像适宜整个 viewBox,可能会产生图像变形。

      none 模式下,将别离计算 x 和 y 轴的压缩比。

正文完
 0