SVG 路径大于 svg 容器

Wal*_*lly 1 html css svg

所以我有一个非常奇怪的案例(至少对我来说非常奇怪)。

SVG 路径未包含在 SVG 元素内。我已经尝试了很多方法来让它发挥作用,但没有一个起作用,现在我怀疑我错过了一些东西。

我有一个 JS 小提琴:https ://jsfiddle.net/67w3hays/

如您所见 - youtube 图标比容器大,并且无法装入容器

代码:

<a href="" class="social-link" target="_blank" rel="noopener noreferrer">
        <svg width="18" height="18" viewBox="0 0 18 18" fill="#C9DCFA" xmlns="http://www.w3.org/2000/svg">

            <path class="youtubeSVG" d="M35.705 0S13.354 0 7.765 1.47c-3 .824-5.47 3.295-6.294 6.354C0 13.412 0 25 0 25s0 11.646 1.47 17.176a8.95 8.95 0 006.296 6.295C13.413 50 35.706 50 35.706 50s22.352 0 27.94-1.47a8.95 8.95 0 006.295-6.296c1.471-5.588 1.471-17.175 1.471-17.175s.059-11.647-1.47-17.235a8.95 8.95 0 00-6.296-6.295C58.058 0 35.706 0 35.706 0zm-7.117 14.295L47.176 25 28.588 35.705v-21.41z"/>
          
        </svg>
      </a>
Run Code Online (Sandbox Code Playgroud)

期望的答案结果:

我希望这个 SVG 路径适合 18 宽度和高度的容器(或者纵横比接近 18px 高度)。

在此输入图像描述

Nil*_*oct 5

https://jsfiddle.net/hdqL3a4z/

去掉widthand heightonsvg标签,只留下视口:

<svg viewBox="0 0 71.41 50" fill="#C9DCFA" xmlns="http://www.w3.org/2000/svg">
Run Code Online (Sandbox Code Playgroud)

并在 CSS 上设置缩放比例:

a > svg {
  width: 18px;
  height: auto;
}
Run Code Online (Sandbox Code Playgroud)

  • 太棒了 - 这很有效,非常感谢你(这让我发疯了......) - 附带说明 - 是否有理由将 viewBox 保留为比所需数量更大的数量?ie 18px - 有关该主题的任何文档都会非常有帮助 - 再次感谢 (2认同)