LESSにおけるセレクタ内の変数
変数はセレクタ内でも使用できます。
ただし、そのためには変数の展開に
少し異なる構文を使用する必要があります:
@の後に変数名を
中括弧で囲みます。例を見てみましょう。
次のような変数があるとします:
@var: div;
この変数をセレクタに展開してみましょう。 様々な状況を考えます。
例
変数をセレクタとして展開します:
@{var} {
font-size: 20px;
}
コンパイル結果:
div {
font-size: 20px;
}
例
変数がセレクタの一部を含むとします:
main @{var} {
font-size: 20px;
}
コンパイル結果:
main div {
font-size: 20px;
}
例
変数にタグ名ではなく、そのidが
含まれているとします。
変数名の前にハッシュ記号を追加します:
#@{var} {
font-size: 20px;
}
コンパイル結果:
#div {
font-size: 20px;
}
例
変数にタグ名ではなく、そのクラスが含まれているとします。 変数名の前にピリオドを追加します:
.@{var} {
font-size: 20px;
}
コンパイル結果:
.div {
font-size: 20px;
}
実践問題
次のコードのコンパイル結果を説明してください:
@var: ul;
@{var} {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: ul;
div @{var} {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: ul;
div @{var} {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: ul;
@{var} li {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: list;
.@{var} {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: list;
#@{var} li {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: list;
.@{var} li {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: list;
ul.@{var} li {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: list;
ul.@{var} li {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: .block;
ul@{var} {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: .block;
ul@{var} li {
font-size: 20px;
}
次のコードのコンパイル結果を説明してください:
@var: a;
@{var}:hover {
text-decoration: none;
}
次のコードのコンパイル結果を説明してください:
@var1: div;
@var2: a;
@{var1} @{var2}:hover {
text-decoration: none;
}
次のコードのコンパイル結果を説明してください:
@var1: block1;
@var2: block2;
.@{var1}.@{var2} {
font-size: 20px;
}