Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS到SVG加载程序图像_Css_Svg - Fatal编程技术网

CSS到SVG加载程序图像

CSS到SVG加载程序图像,css,svg,Css,Svg,我试图在SVG中复制这一优秀的特性。这是我能走多远。我遇到的困难是SVG似乎被设计成在矩形(x,y)坐标系下工作。我想知道是否有办法使用径向坐标(r,θ)?如果有人能为我指明正确的方向,我将不胜感激。使用SVG是解决这个问题的方法吗 所需加载程序屏幕截图: 我当前的进度截图: 这可能不是您想要的,但它可能提供了一个起点,并可能帮助您使加载程序正常工作 使用JavaScript可以构建SVG并避免重复: <div id="container"> <svg id="svg" vi

我试图在SVG中复制这一优秀的特性。这是我能走多远。我遇到的困难是SVG似乎被设计成在矩形(x,y)坐标系下工作。我想知道是否有办法使用径向坐标(r,θ)?如果有人能为我指明正确的方向,我将不胜感激。使用SVG是解决这个问题的方法吗

所需加载程序屏幕截图:

我当前的进度截图:


这可能不是您想要的,但它可能提供了一个起点,并可能帮助您使加载程序正常工作

使用JavaScript可以构建SVG并避免重复:

<div id="container">
<svg id="svg" viewBox="0 0 300 300">
   <defs>
      <rect id="r" x="50" y="-10" height="20" width="75" rx="10"/>
      <g id="g">
        <animateTransform
            attributeName="transform" begin="0s" dur="1s"
            type="rotate" 
            values="330;300;270;240;210;180;150;120;90;60;30"
            repeatCount="indefinite" 
            calcMode="discrete"
        />
        <use xlink:href="#r" opacity="1"/>
        <use xlink:href="#r" opacity=".9"  transform="rotate(30)  scale(0.95)" />
        <use xlink:href="#r" opacity=".8"  transform="rotate(60)  scale(0.9)"  />
        <use xlink:href="#r" opacity=".7"  transform="rotate(90)  scale(0.85)" />
        <use xlink:href="#r" opacity=".6"  transform="rotate(120) scale(0.8)"  />
        <use xlink:href="#r" opacity=".5"  transform="rotate(150) scale(0.75)" />
        <use xlink:href="#r" opacity=".4"  transform="rotate(180) scale(0.7) " />
        <use xlink:href="#r" opacity=".3"  transform="rotate(210) scale(0.65)" />
        <use xlink:href="#r" opacity=".2"  transform="rotate(240) scale(0.6) " />
        <use xlink:href="#r" opacity=".15" transform="rotate(270) scale(0.55)" />
        <use xlink:href="#r" opacity=".1"  transform="rotate(300) scale(0.5)"  />
        <use xlink:href="#r" opacity=".05" transform="rotate(330) scale(0.45)" />
      </g>
    </defs>
    <use id="loader" xlink:href="#g" transform="translate(150,150)"></use>
</svg>


更新:下面是另一个使用相同组件的组件。这一个还可以在旋转时为颜色设置动画。

可能包括您用来创建它的功能:)这很酷。谢谢你的意见。你是怎么弄到的?听起来像是你用JS和模板画出来的?@Zachsauier我实际上是手工输入的:)@helderdarocha更好!我想你是按照你的措辞做的answer@ZachSaucier对事实上,我建议JavaScript不要像我那样键入所有内容。你也可以用CSS响应地这样做,特别是使用像SASS或更少的预处理器。您可以使用旋转定位,然后对其进行平移,然后设置变换原点和比例以及更改不透明性原始作者使用SASS。不过,我认为使用SVG可能更有效。我觉得没有必要添加一堆DOM元素。一个元素现在可以解决所有问题。只需注意这是可能的(: