stylusに色のmix関数が無いから作ってみた。

最近どっぷりstylusですが、sassやlessにはあるのになぜか無いのが色のmix関数。

lightenやdarken、desaturate、hueといった明度、彩度、色相の関数はあるのにmixだけどうしてないのか。。。

色に関して全然詳しくないのですが、なんとなく作ってみて思い通りの動きになったので晒してみます。

stylus

mix(c1,c2,weight)
	c1*.5*(1-weight) + c2*.5*weight
// ex
.test
	background mix(#ff0000,#0000ff,1)

c1に対してc2を合成します。weightは0〜1の間で指定。

css

.test{
	background:#800080
}

なぜかsassのmix関数と結果が合わない…

とりあえず、想定してる色(red+blue=purple)が取れてるので合ってるのかなぁと思ってはいますが、色の計算がいまいちよく分かってないので、間違いあればご指摘ください…

stylusに色のmix関数が無いから作ってみた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です