SVG 和 div 之间的白色间隙

White gap between SVG and div

这不是我能找到的任何当前问题的副本。我已经尝试过将 block/flex 添加到 SVG 元素之类的答案,但我相信这是一个不同的 .

如果有任何相关性,我正在使用 Tailwind。

这是出现此问题的多个不同 SVG 之一:

<svg style="width: 100%" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" y="0px" x="0px" xml:space="preserve" version="1.1" viewBox="0 0 1917.4503 99.737572" id="Untitled-Page%201">
    <metadata id="metadata64">
      <rdf:rdf><cc:work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"></dc:type><dc:title></dc:title></cc:work></rdf:rdf>
    </metadata>
    <defs id="defs62">
      <clipPath id="clipPath83" clipPathUnits="userSpaceOnUse">
        <rect y="4.6582928" x="1.9868355" height="520.61298" width="1913.6428" id="rect85" style="fill: #0000ff; fill-rule: evenodd"></rect>
      </clipPath>
      <clipPath id="clipPath101" clipPathUnits="userSpaceOnUse">
        <rect y="2.0105031" x="1.6986296" height="99.737572" width="1917.4503" id="rect103" style="fill: #0000ff; fill-rule: evenodd"></rect>
      </clipPath>
    </defs>
    <g transform="translate(-1.6986296,-2.0105031)" clip-path="url(#clipPath101)" id="g79">
      <path id="110" d="m -92.8182,485.3333 c 148.4834,-10.021 80.7045,-8.8997 264.4613,-8.8997 211.3321,0 442.2889,49.5664 666.4687,49.5664 255.8733,0 518.9805,-59.2854 737.5684,-59.2854 335.3557,0 441.894,29.1565 441.894,29.1565 L 2035,256 c 0,0 -38.1606,11.5786 -106.04,22.415 L 1919,33.9229 c 0,0 -67.2518,32.8281 -278.9438,32.8281 C 1502.0735,66.751 1335.988,0 1174.4691,0 1032.9564,0 887.1659,55.8081 753.7633,55.8081 619.0213,55.8081 489.1034,1.0942 387.7024,1.0942 230.6074,1.0942 -14,33.9229 -14,33.9229 l -0.0303,192.3195 c 0,0 -30.8519,-4.4524 3.0303,-5.3425 v 77.905 c -115.2449,9.8118 -4.7734,-2.7802 -103.0303,4.7102" fill="#4d5061"></path>
    </g>
  </svg>

我有多个 SVG 元素用于创建类似波浪的效果。在下图中,您可以看到顶部是 SVG 部分,在它下面可以看到内容的背景。

此问题仅在某些分辨率下出现,并且线条的粗细在看起来是半个像素和 1 个像素的高度之间变化。

当 SVG 是内联的或作为 IMG 时,该行为都会发生。 SVG 本身的样式设置为 100% 宽度,高度设置为自动。

我注意到调整视图框可以让 SVG 正确排列,但这只会让间隙出现在不同的分辨率下。

我需要一个解决方案,让这个 wave SVG 在所有设备上齐平,没有像素间隙,最好是解释为什么它会这样,因为我已经反对这个问题太久了。

有多个 SVG,所有 SVG 都会出现此问题。

通过在 SVG 元素的顶部或底部添加 -1 像素边距使元素重叠在一起来解决此问题。