Created
January 13, 2012 17:37
-
-
Save mirisuzanne/1607696 to your computer and use it in GitHub Desktop.
A Keyframes Mixin (Sass only)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@-webkit-keyframes bgcolor { 0% { background-color: #ffccf2; } | |
50% { background-color: #ccffcc; } | |
100% { background-color: #ccffff; } } | |
@-moz-keyframes bgcolor { 0% { background-color: #ffccf2; } | |
50% { background-color: #ccffcc; } | |
100% { background-color: #ccffff; } } | |
@-ms-keyframes bgcolor { 0% { background-color: #ffccf2; } | |
50% { background-color: #ccffcc; } | |
100% { background-color: #ccffff; } } | |
@keyframes bgcolor { 0% { background-color: #ffccf2; } | |
50% { background-color: #ccffcc; } | |
100% { background-color: #ccffff; } } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Syntax error: Invalid CSS after "...bkit-keyframes ": expected "}", was "#{$name} {" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// keyframes mixin | |
=keyframes($name) | |
@-webkit-keyframes #{$name} | |
@content | |
@-moz-keyframes #{$name} | |
@content | |
@-ms-keyframes #{$name} | |
@content | |
@keyframes #{$name} | |
@content | |
// use of keyframes mixin | |
+keyframes(bgcolor) | |
0% | |
background-color: #ffccf2 | |
50% | |
background-color: #ccffcc | |
100% | |
background-color: #ccffff |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// keyframes mixin | |
@mixin keyframes($name) { | |
@-webkit-keyframes #{$name} { | |
@content; | |
} | |
@-moz-keyframes #{$name} { | |
@content; | |
} | |
@-ms-keyframes #{$name} { | |
@content; | |
} | |
@keyframes #{$name} { | |
@content; | |
} | |
} | |
// use of keyframes mixin | |
@include keyframes(bgcolor) { | |
0% { | |
background-color: #ffccf2; | |
} | |
50% { | |
background-color: #ccffcc; | |
} | |
100% { | |
background-color: #ccffff; | |
} | |
} |
Thanks for this painkiller
Thank you!
Thanks for the SCSS version. Saved me a lot of time.
Careful if you have any transform
attributes in your animation, they need to be -webkit-transform
in the webkit version.
I've gone for the following (need separate ones hardcoded for the number of steps in your animation):
@mixin keyframes-transform-3($name, $transform1, $transform2, $transform3) {
@-webkit-keyframes #{$name} {
0% { -webkit-transform: $transform1; }
50% { -webkit-transform: $transform2; }
100% { -webkit-transform: $transform3; }
}
@keyframes #{$name} {
0% { transform: $transform1; }
50% { transform: $transform2; }
100% { transform: $transform3; }
}
}
Thank you
Thanks 🍺
Thanks! Very helpful!
Thanks for your insightful code!
I needed a same default animation with a dynamic color (depending of a status).
Here is my adaptation of your scss schema:
@mixin animateBox($name, $color) { animation: #{$name} 1s infinite; @keyframes #{$name} { 50% { border-color: $color; } } }
Using:
.is-open{ @include animateBox(open, var(--color)); }
Thank you @meninomiel I needed that.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for the SCSS version! Definitely helped alot!