Web Essentials 2012を使用して、キーフレーム名を下げます
-
21-12-2019 - |
質問
CSSでアニメーションロードスピナーを作成しようとしているため、スピナーを表示する要素にクラスを設定してスピナーの色を動的に設定できます。 Web Essentials 2012
私は新しいものに新しい、動的キーフレーム名を追加する方法を見つけることはできません。次のコードを考えてください。
少ない:
@white: #FFF;
.Spin(@color)
{
0%, 100%
{
box-shadow: 0em -3em 0em 0.2em @color, 2em -2em 0 0em @color, 3em 0em 0 -0.5em @color, 2em 2em 0 -0.5em @color, 0em 3em 0 -0.5em @color, -2em 2em 0 -0.5em @color, -3em 0em 0 -0.5em @color, -2em -2em 0 0em @color;
}
12.5%
{
box-shadow: 0em -3em 0em 0em @color, 2em -2em 0 0.2em @color, 3em 0em 0 0em @color, 2em 2em 0 -0.5em @color, 0em 3em 0 -0.5em @color, -2em 2em 0 -0.5em @color, -3em 0em 0 -0.5em @color, -2em -2em 0 -0.5em @color;
}
25%
{
box-shadow: 0em -3em 0em -0.5em @color, 2em -2em 0 0em @color, 3em 0em 0 0.2em @color, 2em 2em 0 0em @color, 0em 3em 0 -0.5em @color, -2em 2em 0 -0.5em @color, -3em 0em 0 -0.5em @color, -2em -2em 0 -0.5em @color;
}
37.5%
{
box-shadow: 0em -3em 0em -0.5em @color, 2em -2em 0 -0.5em @color, 3em 0em 0 0em @color, 2em 2em 0 0.2em @color, 0em 3em 0 0em @color, -2em 2em 0 -0.5em @color, -3em 0em 0 -0.5em @color, -2em -2em 0 -0.5em @color;
}
50%
{
box-shadow: 0em -3em 0em -0.5em @color, 2em -2em 0 -0.5em @color, 3em 0em 0 -0.5em @color, 2em 2em 0 0em @color, 0em 3em 0 0.2em @color, -2em 2em 0 0em @color, -3em 0em 0 -0.5em @color, -2em -2em 0 -0.5em @color;
}
62.5%
{
box-shadow: 0em -3em 0em -0.5em @color, 2em -2em 0 -0.5em @color, 3em 0em 0 -0.5em @color, 2em 2em 0 -0.5em @color, 0em 3em 0 0em @color, -2em 2em 0 0.2em @color, -3em 0em 0 0em @color, -2em -2em 0 -0.5em @color;
}
75%
{
box-shadow: 0em -3em 0em -0.5em @color, 2em -2em 0 -0.5em @color, 3em 0em 0 -0.5em @color, 2em 2em 0 -0.5em @color, 0em 3em 0 -0.5em @color, -2em 2em 0 0em @color, -3em 0em 0 0.2em @color, -2em -2em 0 0em @color;
}
87.5%
{
box-shadow: 0em -3em 0em 0em @color, 2em -2em 0 -0.5em @color, 3em 0em 0 -0.5em @color, 2em 2em 0 -0.5em @color, 0em 3em 0 -0.5em @color, -2em 2em 0 0em @color, -3em 0em 0 0em @color, -2em -2em 0 0.2em @color;
}
}
.Keyframes(@name, @color)
{
@-webkit-keyframes @name { .Spin(@color); }
@-moz-keyframes @name { .Spin(@color); }
@-ms-keyframes @name { .Spin(@color); }
@-o-keyframes @name { .Spin(@color); }
@keyframes @name { .Spin(@color); }
}
.Animate(@name, @color)
{
.Keyframes(@name, @color);
animation: 1.3s linear 0s normal none infinite @name;
-moz-animation: 1.3s linear 0s normal none infinite @name;
-o-animation: 1.3s linear 0s normal none infinite @name;
-webkit-animation: 1.3s linear 0s normal none infinite @name;
}
.loading
{
display: inline-block;
padding-left: 2.5em;
position: relative;
-webkit-backface-visibility: hidden;
cursor: default !important;
&:before
{
border-radius: 50%;
content: "";
font-size: 0.2em;
height: 1em;
left: 0;
margin: 5em auto 5em 5em;
position: absolute;
top: 0;
width: 1em;
}
&.white:before
{
.Animate(spinwhite, @white);
}
}
.
次のコードにコンパイルします。
css(読みやすさのためのすべてのベンダー固有のキーフレーム表記を省略しました):
.loading {
display: inline-block;
padding-left: 2.5em;
position: relative;
-webkit-backface-visibility: hidden;
cursor: default !important;
}
.loading:before {
border-radius: 50%;
content: "";
font-size: 0.2em;
height: 1em;
left: 0;
margin: 5em auto 5em 5em;
position: absolute;
top: 0;
width: 1em;
}
.loading.white:before {
animation: 1.3s linear 0s normal none infinite spinwhite;
-moz-animation: 1.3s linear 0s normal none infinite spinwhite;
-o-animation: 1.3s linear 0s normal none infinite spinwhite;
-webkit-animation: 1.3s linear 0s normal none infinite spinwhite;
}
@keyframes @name {
0%,
100% {
box-shadow: 0em -3em 0em 0.2em #ffffff, 2em -2em 0 0em #ffffff, 3em 0em 0 -0.5em #ffffff, 2em 2em 0 -0.5em #ffffff, 0em 3em 0 -0.5em #ffffff, -2em 2em 0 -0.5em #ffffff, -3em 0em 0 -0.5em #ffffff, -2em -2em 0 0em #ffffff;
}
12.5% {
box-shadow: 0em -3em 0em 0em #ffffff, 2em -2em 0 0.2em #ffffff, 3em 0em 0 0em #ffffff, 2em 2em 0 -0.5em #ffffff, 0em 3em 0 -0.5em #ffffff, -2em 2em 0 -0.5em #ffffff, -3em 0em 0 -0.5em #ffffff, -2em -2em 0 -0.5em #ffffff;
}
25% {
box-shadow: 0em -3em 0em -0.5em #ffffff, 2em -2em 0 0em #ffffff, 3em 0em 0 0.2em #ffffff, 2em 2em 0 0em #ffffff, 0em 3em 0 -0.5em #ffffff, -2em 2em 0 -0.5em #ffffff, -3em 0em 0 -0.5em #ffffff, -2em -2em 0 -0.5em #ffffff;
}
37.5% {
box-shadow: 0em -3em 0em -0.5em #ffffff, 2em -2em 0 -0.5em #ffffff, 3em 0em 0 0em #ffffff, 2em 2em 0 0.2em #ffffff, 0em 3em 0 0em #ffffff, -2em 2em 0 -0.5em #ffffff, -3em 0em 0 -0.5em #ffffff, -2em -2em 0 -0.5em #ffffff;
}
50% {
box-shadow: 0em -3em 0em -0.5em #ffffff, 2em -2em 0 -0.5em #ffffff, 3em 0em 0 -0.5em #ffffff, 2em 2em 0 0em #ffffff, 0em 3em 0 0.2em #ffffff, -2em 2em 0 0em #ffffff, -3em 0em 0 -0.5em #ffffff, -2em -2em 0 -0.5em #ffffff;
}
62.5% {
box-shadow: 0em -3em 0em -0.5em #ffffff, 2em -2em 0 -0.5em #ffffff, 3em 0em 0 -0.5em #ffffff, 2em 2em 0 -0.5em #ffffff, 0em 3em 0 0em #ffffff, -2em 2em 0 0.2em #ffffff, -3em 0em 0 0em #ffffff, -2em -2em 0 -0.5em #ffffff;
}
75% {
box-shadow: 0em -3em 0em -0.5em #ffffff, 2em -2em 0 -0.5em #ffffff, 3em 0em 0 -0.5em #ffffff, 2em 2em 0 -0.5em #ffffff, 0em 3em 0 -0.5em #ffffff, -2em 2em 0 0em #ffffff, -3em 0em 0 0.2em #ffffff, -2em -2em 0 0em #ffffff;
}
87.5% {
box-shadow: 0em -3em 0em 0em #ffffff, 2em -2em 0 -0.5em #ffffff, 3em 0em 0 -0.5em #ffffff, 2em 2em 0 -0.5em #ffffff, 0em 3em 0 -0.5em #ffffff, -2em 2em 0 0em #ffffff, -3em 0em 0 0em #ffffff, -2em -2em 0 0.2em #ffffff;
}
}
.
keyframes
の代わりに@name
の名前がspinwhite
の代わりに、必要なものに注意してください。この POSTによると、このアプローチは17歳未満ではありません。 .x and Up、しかし Changelog 最新バージョンで使用されているコンパイラはバージョン1.6です。 .3。
誰もがこの作業を得る方法の考えを持っていますか?それとも待っているのは、待っているのは辛抱強く、忍耐強く、Web Essentialsがそのコンパイラを更新することを願っていますか?
所属していません StackOverflow