css - SASS - CSS - 动画在 chrome 中有效,在 firefox 中无效

标签 css google-chrome animation firefox sass

我尝试为一个 div 实现一个简单的 2 状态颜色转换

它在一个 Angular 元素中,它使用 scss 文件作为 CSS

我发现了一些关于此的其他线程,但即使我尝试应用修复,它在 firefox 中仍然不起作用

下面是我如何使用下面的代码:

@include errorDivPulse($black,$orange,$white,#ff1200,animC);
.errorDiv {
    @include errorDiv($black,$orange,animC);
}

它看起来像这样(只是带有前缀的重复):

@mixin errorDiv($foreGround,$backGround,$animName) {
    color: $foreGround !important; 
    background-color: $backGround !important; 

    @if($animName) {
        -moz-animation: $animName 1s infinite;
        -webkit-animation: $animName 1s infinite;
        -ms-animation: $animName 1s infinite;
        animation: $animName 1s infinite;
    }
}

@mixin errorDivPulse ($color1, $backGround1, $color2, $backGround2,$animName ) {
    @-moz-keyframes #{$animName} {
        0% {
            color: $color1;
            background-color: $backGround1; 
        }
        50% {
            color: $color2;
            background-color: $backGround2; 
        }
        100 {
            color: $color1;
            background-color: $backGround1; 
        }
    }
    @-webkit-keyframes #{$animName} {
        0% {
            color: $color1;
            background-color: $backGround1; 
        }
        50% {
            color: $color2;
            background-color: $backGround2; 
        }
        100 {
            color: $color1;
            background-color: $backGround1; 
        }
    }
    @-ms-keyframes #{$animName} {
        0% {
            color: $color1;
            background-color: $backGround1; 
        }
        50% {
            color: $color2;
            background-color: $backGround2; 
        }
        100 {
            color: $color1;
            background-color: $backGround1; 
        }
    }
    @keyframes #{$animName} {
        0% {
            color: $color1;
            background-color: $backGround1; 
        }
        50% {
            color: $color2;
            background-color: $backGround2; 
        }
        100 {
            color: $color1;
            background-color: $backGround1; 
        }
    }
}

最佳答案

答案是默认 div CSS 中的 !importance 我真傻

@mixin errorDiv($foreGround,$backGround,$animName) {
    color: $foreGround ; 
    background-color: $backGround ; 

    @if($animName) {
        -moz-animation: $animName 1s infinite;
        -webkit-animation: $animName 1s infinite;
        -ms-animation: $animName 1s infinite;
        animation: $animName 1s infinite;
    }
}

关于css - SASS - CSS - 动画在 chrome 中有效,在 firefox 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54437980/

相关文章:

html - 图像不保留在具有绝对位置的 div 中(使用 css 网格)

css - 使用 rails collection_select 表单助手更改 'include_blank' 文本的样式

javascript - es6 babelify 更改变量名,检查器中找不到变量

google-chrome - 如何在 chrome/safari mobile IOS 6 上查看 javascript 错误

r - 导入 png 文件并在 R 中转换为动画(.mp4)

java - Sprite 动画计时java swing

html - Html 中的图标选择选项

html - 禁用元素上的波纹效果

selenium - 如何利用保存的Chrome密码来实现自动登录脚本,这样我就不必在脚本中输入纯文本密码?

javascript - 相同的代码在不同的 IDE 中不起作用 - html、css