css - SVG 徽标动画但被 viewBox 剪辑
问题描述
我成功地为 SVG 徽标的某些部分设置了动画,但旋转时外边缘最终位于 viewBox 之外。我已经玩了好几个小时了,但不知道如何在 viewBox 内部添加“填充”以使动画有空间完成。
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="5px" y="5px" viewBox="0 0 625.1 160" style="enable-background:new 0 0 625.1 160;" xml:space="preserve" class="ccc-gear position-2">
<g class="gear-group">
这是一个小提琴来演示正在发生的事情:https ://jsfiddle.net/inhouse/Labrz1vg/13/
非常感谢任何帮助,因为我肯定会在未来的项目中遇到这个问题!
解决方案
正如我所评论的:解决这个问题的一个简单方法是添加svg{overflow: visible;}
CSS。
但是,如果这不起作用,您可能需要稍微调整一下代码。
- 在您的 CSS 中,
transform-origin: 13.2% 46.5%;
我已将其更改为,transform-origin: 82.5px 74.5px;
因为我想要对其进行硬编码。我将稍微改变 svg 的大小,这些百分比将不再起作用。我的数字是一个粗略的近似值。您可能想确定这是您需要的。 - 我已将 更改
viewBox
为-10 -15 625.1 180
. 在您的代码中,您还具有enable-background
与 相同的值viewBox
。如果你不需要它,你可以删除它。
推荐阅读
- ms-word - 带有 bookdown::word_document2 和 rmarkdown 的数字列表
- cmake - Windows 10 上的最新 CMake 和 LLVM
- ruby - 委托给类方法
- file - Perl 用户输入文件搜索
- javascript - Discord bot 不播放有年龄限制的视频
- c++ - 段错误在gtest中的堆栈上初始化引用变量
- r - 在 R 中使用 ifelse 语句创建新变量
- r - 使用 data.table 解决方案根据 id 将观察结果分组到指定数量的组中
- javascript - 动画 Javascript OnMouseOver
- python - 使用 for 循环遍历文本文件中的单个单词