SASS动画(不是SCSS)不起作用

SASS动画(不是SCSS)不起作用

问题描述:

下午好!我尝试为通过React渲染的微调器制作动画,但它不想在SASS中工作。在SCSS中它正常工作。我试图用很多方式去做,但仍然没有解决方案。微调器显示,但不移动。如果有人有想法,我恳请与我分享。SASS动画(不是SCSS)不起作用

有一个代码:

<div> 
    <svg className="spinner" viewBox="0 0 100 100"> 
     <path d="M 2 50 A 48 48 0 0 0 98 50 L 2 50" className="-ring1" /> 
     <path d="M 98 50 A 48 48 0 0 0 2 50 L 98 50" className="-ring2"/> 
     <circle fill="black" cx="50" cy="50" r="40" /> 
    </svg> 
    </div> 

@keyframes spinner-loading 
0% 
transform: rotateZ(0deg) 
100% 
transform: rotateZ(359deg) 

.spinner 
margin-top: 20% 
margin-left: 30% 
height: 30% 
width: 30% 
animation: spinner-loading 1.5s linear infinite 

.-ring1 
fill: white 

.-ring2 
fill: rgba(white, 0.2) 

而且还有一个SCSS的版本:

@keyframes spinner-loading { 
0%{ 
transform: rotateZ(0deg); 
} 

100%{ 
transform: rotateZ(359deg); 
    } 
} 
.spinner { 
    margin-top: 10%; 
    margin-left: 30%; 
    height: 30%; 
    width: 30%; 
    animation: spinner-loading 1.5s linear infinite; 
} 

.-ring1 { 
fill: red; 
} 

.-ring2 { 
fill: rgba(255, 0, 0, 0.2); 
} 

您可以使用萨斯转换https://www.npmjs.com/package/sass-convert从和不同格式(SCSS,上海社会科学院转换,css),所以你可以将scss工作文件转换为sass文件,并与你所写的文件进行比较以检查出错。

看着它,如果你说的它的工作原理与使用{}限制规则,它可以是一个缩进问题与关键帧的规则SCSS:

@keyframes spinner-loading 
0% 
    transform: rotateZ(0deg) 
100% 
    transform: rotateZ(359deg) 

.spinner 
margin-top: 20% 
margin-left: 30% 
height: 30% 
width: 30% 
animation: spinner-loading 1.5s linear infinite 

.-ring1 
fill: white 

.-ring2 
fill: rgba(white, 0.2) 
+0

是的,它工作正常在SCSS语法,但在SASS它不是。我将它转换并收到了与上面介绍的相同的变体,因为它之前使用过。你的意思是SASS语法中的问题吗? –

+0

是的,Sass语法是基于缩进的,并且可能会出现问题。 – jmtalarn

+0

谢谢。任何想法如何在SASS制作这部动画?我想如果语法上的问题,它将成为另一种实现方式。附:我将SCSS的版本添加到了我的文章中。正如我所说的,它正常工作。 –