我正在尝试使用css关键帧创建一个旋转圈,但我很难在Sass中使用它。
这是我的html:
<div class="content">
<h1 class="h1">Playing around with keyframes</h1>
<div class="circle"></div>
</div>
这是Sass:
.content{
display:block;
position: relative;
box-sizing:border-box;
.circle{
width: 220px;
height: 220px;
border-radius: 50%;
padding: 10px;
border-top: 2px solid $pink;
border-right: 2px solid $pink;
border-bottom: 2px solid $pink;
border-left: 2px solid #fff;
-webkit-animation:spin 4s linear infinite;
-moz-animation:spin 4s linear infinite;
animation:spin 4s linear infinite;
}
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
}
我正在使用Prepros来编译我的Sass,输出看起来像这样(注意关键帧内的类):
@-moz-keyframes spin {
.lesson-page .content 100% {
-moz-transform: rotate(360deg);
}
}
@-webkit-keyframes spin {
.lesson-page .content 100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes spin {
.lesson-page .content 100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
答案 0 :(得分:1)
这似乎是针对Sass 3.3的。 @keyframes
构造不能正确地冒泡到顶部。如果无法升级到3.4,只需停止嵌套关键帧。
.content{
display:block;
position: relative;
box-sizing:border-box;
.circle{
width: 220px;
height: 220px;
border-radius: 50%;
padding: 10px;
border-top: 2px solid $pink;
border-right: 2px solid $pink;
border-bottom: 2px solid $pink;
border-left: 2px solid #fff;
-webkit-animation:spin 4s linear infinite;
-moz-animation:spin 4s linear infinite;
animation:spin 4s linear infinite;
}
}
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
相关:How to make a Sass mixin declare a non-nested selector on base level?