2013-09-30 4 views
5

数日のうちにお試しください。 HSL - 色相 - 彩度 - 明度に問題があるか、それとも私の理解の問題ですか、私は恐れています。LESS:色相、彩度、明度 - 使用方法は?

私は、次のHTML試してみました:

<div class="box hue">1</div>&nbsp;<div class="box saturation">2</div>&nbsp;<div class="box lightness">3</div> 

をし、それに応じLESSを試してみました:

@color2: #167e8a; 
    .hue{ 
     background-color: hue(@color2); 
    } 

    .saturation{ 
     background-color: saturation(@color2); 
    } 

    .lightness{ 
     background-color: lightness(@color2); 
    } 


    .box{ 
     width: 50px; 
     height: 20px; 
    } 

しかし、空に示す最初の3つのクラスが、何を示すしません - 何の背景色を。しかし箱は幅が&の高さです。 Photoshopは私のためにした何


Color and HSL - Photoshop did for me

私はHSLの変化にPhotoshopでカラーコードをチェックするには、彼らはすべての異なる組み合わせで異なる色を示します。それで私の弱点がなぜ私を欺いているのですか?

答えて

5

HSLレッスン関数は、名前の示すの部分のの整数値ではなく、色を返しません。 documentationから

hue(@color); // returns the `hue` channel of @color in the HSL space 

.foo{ 
    color: hue(#167e8a); 
} 

// rendered as 
.foo { 
    // invalid...hence you don't see a color 
    color: 186; 
} 

先に進む前に、それはspin() functionはあなたが色のパーツを分解することを必要とせず、色相を変更することを言及する価値があります。具体的には、「色の色相角をどちらの方向にも回転させます」。

手動でHSLを分割したい場合でも、それは簡単です。

@h: hue(#167e8a); 
@s: saturation(#167e8a); 
@l: lightness(#167e8a); 

.foo{ 
    color: hsl(@h,@s,@l); 
} 

// rendered as 
.foo { 
    color: #167d88; 
} 

さらに重要なのは、あなたは、抽出されたチャンネルを取るそれらを変更し、続いて色を再構築することができます

@h: hue(#167e8a) + 40; 
@s: saturation(#167e8a) - 5; 
@l: lightness(#167e8a) + 30; 

.foo{ 
    color: hsl(@h,@s,@l); 
} 

// rendered as 
.foo { 
    color: #5978de; 
} 
+0

感謝を。しかし、私は「HSLの使用方法は?」と尋ねました。私はベースカラー(#167e8a)から(+24) - ( - 25) - ( - 56)のHSLコンビネーションで新しいカラーを作りたいとします。どうすればこれを達成できますか? –

+2

最後の例を見てください...抽出した値のそれぞれにオフセットを加えることができます。それは質問に答えますか? –

+0

正確に。それはまさに私が期待していることです。旅で私を助けてくれてありがとう。 –

関連する問題