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