CSS HSL()

admin發表於2018-09-26

顏色模式有多種,具體參閱CSS顏色值型別一章節。

本文介紹一下CSS3新增HSL()顏色模式。

如果要設定透明度可以使用HSLA(),具體參閱CSS3 HSLA()一章節。

HSL是Hue、Saturation和Lightness的縮寫。

(1).Hue:表示色調或者色相。

(2).Saturation:表示飽和度或者說灰度。

(3).Lightness:表示亮度。

H:取值範圍在0-360之間,0和360表示紅色,120表示綠色,240表示藍色。

S:取值範圍在0%-100%,0%表示灰色,100%表示全綵色。

L:取值範圍在0%-100%,0%表示純黑色,100%表示純白色。

由HSL三個不同的值的疊加最終產生各種各樣的顏色效果。

瀏覽器支援:

(1).IE9+瀏覽器支援此顏色模式。

(2).edge瀏覽器支援此顏色模式。

(3).谷歌瀏覽器支援此顏色模式。

(4).火狐瀏覽器支援此顏色模式。

(5).opera瀏覽器支援此顏色模式。

(6).safria瀏覽器支援此顏色模式。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#box{
  position:relative;
}
span{
  width:1px;
  height:100px;
  float:left;
}
</style>
<script>
window.onload=function(){
  let obox = document.getElementById("box");
  for (let index = 0; index < 360; index++) {
    let ospan = document.createElement('span');
    ospan.style.background = 'hsl(' + index + ',100%, 50%)';
      obox.appendChild(ospan);
  }
}
</script>
</head>
<body>
<div id="box"></section>
</body>
</html>

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/26/105006m7d5r2spsp3d22o5.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上面演示的是HSL中H色調值由0-360分佈規律。

從左到右,顏色大致規律是紅、橙、黃、綠、青、藍、紫。

最左邊和最右邊都是紅色,因為H的值等於0或者360都表示顏色為紅色。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#box{
  position:relative;
}
span{
  width:1px;
  height:100px;
  float:left;
}
</style>
<script>
window.onload=function(){
  let obox = document.getElementById("box");
  for (let index = 0; index < 360; index++) {
    let ospan = document.createElement('span');
    ospan.style.background = 'hsl(100,' + index + '%, 50%)';
      obox.appendChild(ospan);
  }
}
</script>
</head>
<body>
<div id="box"></section>
</body>
</html>

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/26/105042uf7l99xnxstenlnf.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上面程式碼演示了顏色飽和度逐次變化效果。

可以很明顯的看到飽和度由全灰到全綵的變化。

當index值等於100的時候,飽和度已經達到百分之百,也就是已經達到全綵。

即便index值繼續增加,由於飽和度已經達到頂點,不會再發生變化。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
#box{
  position:relative;
}
span{
  width:1px;
  height:100px;
  float:left;
}
</style>
<script>
window.onload=function(){
  let obox = document.getElementById("box");
  for (let index = 0; index < 360; index++) {
    let ospan = document.createElement('span');
    ospan.style.background = 'hsl(100,100%, ' + index + '%)';
      obox.appendChild(ospan);
  }
}
</script>
</head>
<body>
<div id="box"></section>
</body>
</html>

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/26/105116t8tgj0088fv6vknk.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上面程式碼實現了對亮度的演示,由純黑色過渡到純白色。0%表示純黑色,100%表示純白色。

和前面同樣的道理,100%已經到達極限,index值再增加也不會再有變化。

相關文章