html - svg css 动画改变位置和大小,我只想改变大小

标签 html css svg

我想在 svg 中制作一个元素,以便为我正在制作的动画变大或变小。

我添加了一个简化的 svg 来演示我遇到的问题。

发生的事情是盒子越来越大(好),但它也从顶部向下移动(坏),我希望它留在原地。

我希望正方形的中心保持不变,同时它在 Y 方向上变大。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>


<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 640 640" width="640" height="640">
<style>

    path{
        animation: shine-1 1s infinite linear; 
    }


    @keyframes shine-1 {
        from{
            transform: scaleY(0);
        }
        to{
            transform: scaleY(1);
        }
    }
</style>
<defs><path d="M237.65 286.88L379.91 286.88L379.91 394.87L237.65 394.87L237.65 286.88Z" id="j122ygNii7"></path></defs><g><g><g><use xlink:href="#j122ygNii7" opacity="1" fill="#dc9bd9" fill-opacity="1"></use></g></g></g></svg>

最佳答案

我需要的是动画后的 transform-origin 属性和 transform-b​​ox 属性。 它需要以 50% 50% 将其变换原点放在中心 它还迫切需要将转换框设置为填充框。

那么所有的动画都是相对于它们所在的位置。

.class{
        animation: spin-grow-ect 3s infinite linear;
        transform-origin: 50% 50%;
        transform-box: fill-box;
    }

关于html - svg css 动画改变位置和大小,我只想改变大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58649497/

相关文章:

javascript - <a> svg 周围的链接行为异常

css - 奇怪的底部边距/空白添加到 <ul>

jquery - 如何使用 Jquery 在左右 css 规则之间切换?

css - 自动调整不同行 Div 的大小

javascript - 在头部加载 Jquery 展开/折叠 Div

javascript - 在 div 容器中添加 SVG 文本

javascript - 在屏幕上连续动画 SVG

html - 我的 CSS 不会显示 : inline; for my buttons

html - CSS滚动固定侧边栏

html - 显示未复制的带有空格的文本