【发布时间】:2014-12-31 05:08:34
【问题描述】:
我一直在为纯 CSS 动画使用无参数 mixin,这样我的类和关键帧就不会包含一堆重复的样式,类似于以下内容:
//css classes excluded for brevity, compile as expected
@mixin btn() {
color: black;
}
@mixin btn-hover() {
color: white;
}
@keyframes hover {
from {
@include btn();
}
to {
@include btn-hover();
}
}
最近我将这些 mixin 转换为如下所示的占位符选择器:
//css classes excluded for brevity, compile as expected
%btn {
color: black;
}
%btn-hover {
color: white;
}
@keyframes hover {
from {
extend %btn;
}
to {
extend %btn-hover;
}
}
那行不通,回想起来很清楚为什么不行。让我感到困惑的是为什么它首先会编译。生成的 CSS 是完全空的有效 @keyframes 块:
@keyframes hover {
}
假设我对扩展概念在 Sass 中的工作原理的理解是正确且完整的,那么以这种方式使用占位符选择器是没有意义的。为什么以这种有效的语法开头?为什么我没有收到编译错误?
【问题讨论】:
标签: css sass css-animations