頻繁に使う値を変数化しておき、同じ値を何度も記述する手間を省いて簡略化することができます。値の変更も変数定義の一カ所だけ書き換えれば、同じ変数を使うセレクターすべてに反映します。
変数定義は、頭に「@」を付けて宣言します。続けて変数名、代入記号コロン「:」、値の順に記述し、セミコロン「;」で区切ります。(例)「@color1: #5566FF;」。
今回のテスト:
外部ファイルとして、 変数を用いたテスト用LESS「less-test2.less」を作成しました。hrmlの中で、繰り返し使う色を変数化し、その変数の値を変更することで、全体の色を変更するモデルとして、色以外の内容をまったく同じにした2つのbox(.box01と.box02)を用意しました。そして、それぞれ@color1、@color2の変数を使い、繰り返し使う色(青と赤)を指定しています。「less.jsを使ったLESSの表示テスト(1)」と同様にhtmlの<head>内にlessファイルをリンクし、bodyのラスト部分で、less.jsを読込み、コンパイルします。このテストページへのリンクはページ下側にあります。
@color1: #5566FF;
@color2: #CB032B;
div.box01 {
width: 580px;
margin: 15px auto;
padding: 5px;
border: 1px solid @color1;
background: #fff;
h2 {
width: 550px;
margin:0 auto;
background: @color1;
color: #fff;
font-size: 22px;
padding: 5px 15px;
}
h3 {
background: #fff;
color: @color1;
font-size: 16px;
margin: 5px 0;
padding: 3px 0 3px 10px;
}
p {
color: @color1;
}
}
div.box02 {
width: 580px;
margin: 15px auto;
padding: 5px;
border: 1px solid @color2;
background: #fff;
h2 {
width: 550px;
margin:0 auto;
background: @color2;
color: #fff;
font-size: 22px;
padding: 5px 15px;
}
h3 {
background: #fff;
color: @color2;
font-size: 16px;
margin: 5px 0;
padding: 3px 0 3px 10px;
}
p {
color: @color2;
}
}
ul {
margin:5px;
li {
list-style-type: decimal;
}
}
div.cap1 {
width:580px;
margin:10px auto;
tezt-align:left;
}<head> <meta charset="UTF-8"> <title>less.jsを使ったLESSの表示テスト</title> <link rel="stylesheet/less" type="text/css" href="less-test2.less"> </head> <body> ------中略------- <script src="less.js" type="text/javascript"></script> </body>