导致该属性失效的原因可能有很多种,这里记录我遇到的一种:
因为在使用@keyframes时用了 !important 导致属性失效,如:
以下代码阴影不生效:
@keyframes goshadow {0% {box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.12) !important;}50% {box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.12) !important;}100% {box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.12) !important;}}
.shawCard {animation: goshadow 2s infinite !important;
}
以下代码阴影生效:
@keyframes goshadow {0% {box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.12);}50% {box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.12);}100% {box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.12);}}
.shawCard {animation: goshadow 2s infinite;
}
在 CSS 动画中,!important 关键字在 @keyframes
规则内部通常是不起作用的,因为关键帧规则本身具有更高的优先级,它们直接定义了在动画过程中的样式变化。此外,在动画的简写属性 animation
中使用 !important 也是不标准的,并且通常不会按预期工作,