【问题标题】:Scaled svg path on hover is not centered悬停时缩放的 svg 路径未居中
【发布时间】:2018-08-20 00:01:41
【问题描述】:

我有一个 svg <path> 我想在鼠标悬停时缩放。缩放后的路径应该在其原始位置的顶部居中。我已经阅读了其他类似的帖子,但无法完成。

我尝试使用transform-origin: 50% 50%;transform-origin: 0 0;transform-origin: center;,并尝试从头到尾删除transform-origin,但它们都没有按预期工作,因为缩放的路径有几个像素的偏移:

path {
  fill: #f00
}

path:hover {
  fill: #000;
  transform: scale(2);
  -ms-transform: scale(2);
  -webkit-transform: scale(2);
  transform-origin: 50% 50%;
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 881 571" pointer-events="fill" fill="none" fill-opacity="1">
        <path d="M447 263h1-1 1v-1 1h1-1 1-1 1v1h1-1 2v1h1v1h-1 1-1v1h1v1h1-1v1h-1v1-1 1h-1v1h-1v3h-1v-1h-2v-1h-1v-1h-2v-2h-1v-3h-1v-1h1-1 1v-1h1v-2h1-1v1-2 1h1v1h1v-1h1v1h1z"/>
      </svg>

【问题讨论】:

    标签: css svg scale css-transforms


    【解决方案1】:

    您的 SVG 艺术框看起来很大,我相信这是问题的一部分。我尝试对其进行一些清理以适应 SVG 的内容,并将元素包裹在 div 中。

    这是具有更比例艺术框的 SVG:

    svg {
      display: block;
      width: 100%;
      height: auto;
    }
    
    div {
      fill: #f00;
      width:127px;
      height:150px;
      margin-left: 50px;
      margin-top: 50px;
    }
    
    div:hover {
      fill: #000;
      transform: scale(2);
      -ms-transform: scale(2);
      -webkit-transform: scale(2);
      transform-origin: 50% 50%;
    }
    <div>
        <svg xmlns="http://www.w3.org/2000/svg"><path d="M65.5 23.583h10.583H65.5h10.583V13v10.583h10.584-10.584 10.584-10.584 10.584v10.584H97.25 86.667h21.166V44.75h10.584v10.583h-10.584 10.584-10.584v10.584h10.584V76.5H129h-10.583v10.583h-10.584v10.584-10.584 10.584H97.25v10.583H86.667V140H76.083v-10.583H54.917v-10.584H44.333V108.25H23.167V87.083H12.583v-31.75H2V44.75h10.583H2h10.583V34.167h10.584V13H33.75 23.167v10.583V2.417 13H33.75v10.583h10.583V13h10.584v10.583H65.5z"/>
        </svg>
    </div>

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2012-12-16
      • 2012-06-14
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 2023-03-27
      • 2021-07-21
      • 1970-01-01
      相关资源
      最近更新 更多