代码之家  ›  专栏  ›  技术社区  ›  Petrolea

SVG-圆圈标记在所有浏览器中的大小都不相同(IE11)

  •  1
  • Petrolea  · 技术社区  · 6 年前

    我试着在 <path> 元素,但注意到其大小在IE11中有所不同,但Chrome、Firefox和Edge的大小“正确”。例子: Codepen (在下面的编辑中更新)

    <svg viewbox="0 0 100 100">
        <path
          stroke="#ffff00"
          fill-opacity="0"
          marker-start="url(#marker)"
          stroke-width="4"
          d="M 50 98 A 48 48 0 0 0 50 2"
        />
    
       <marker id="marker" refX="5" refY="5" markerWidth="100" markerHeight="100">
         <circle class="marker" fill="#ff0000" cx="5" cy="5" r="1.5" />
       </marker>
    </svg>
    

    我还注意到没有应用填充-图像显示了Chrome(左)和IE11(右)之间的比较:

    Code rendered in Chrome Code rendered in IE11

    有人知道原因吗?

    编辑:我已经用 stroke stroke-width 根据@VAL建议的属性: Updated Codepen

    stroke="#ff0000" stroke-width="0"
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   vals    6 年前

    事实证明,您只需将笔划宽度=“0”设置为IE,这在其他浏览器中似乎是默认值

    .svg-container {
      width: 300px;
      height: 300px;
      margin: 0 auto;
    }
    
    svg {
      overflow: visible;
    }
    <div class="svg-container">
      <svg viewbox="0 0 100 100">
        <path
              stroke="#ffff00"
              fill-opacity="0"
              marker-start="url(#marker)"
              stroke-width="4"
              d="M 50 98 A 48 48 0 0 0 50 2"
          />
    
        <marker id="marker" refX="5" refY="5" markerWidth="100" markerHeight="100">
          <circle class="marker" fill-opacity="1" stroke-width="0" fill="#ff0000" cx="5" cy="5" r="1.5" />
        </marker>
      </svg>
    </div>