:lang()
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
試してみましょう
*:lang(en-US) {
outline: 2px solid deeppink;
}
Music during road trips and long commutes aren’t a problem, but using
headphones isn’t the best thing to do while driving in your car.
Gdy widzimy znak z narysowaną czaszką i napisem
DANGER to lepiej nie wchodzić do środka.
メモ:
HTML では、言語は lang
属性と 要素、それに、可能であればプロトコルから得られる情報 (HTTP ヘッダーなど) の組み合わせで決められます。他の文書型では、文書の言語を決定する他の方法があるかもしれません。
構文
形式文法
:lang( [, ]*) {
/* ... */
}
引数
-
カンマで区切った 1 つ以上の
のリストで、 BCP 47 の言語コードに従った言語値を持つ要素を対象とします。 言語の範囲による照合は大文字小文字を区別しません。
解説
言語を選択するとき、暗黙にワイルドカード照合が行われます。そのため、 :lang(de-DE)
は de-DE
, de-DE-1996
, de-Latn-DE
, de-Latf-DE
, de-Latn-DE-1996
に一致します。
明示的にワイルドカードを使用する場合は、完全一致する言語サブタグを記載する必要があります。したがって、 :lang("*-F*")
は不正ですが、 :lang("*-Fr")
は有効です。
例
指定された言語の子の照合
この例では、 :lang()
擬似クラスを使用して引用要素 () の親を選択するために子結合子を使用しています。なお、この例はこの目的のための唯一の方法でも、文書型における最適な方法を示しているわけでもありません。また、 Unicode の値は特殊な引用符を指定するために使用していることに注意してください。
HTML
This English quote has a nested
quote inside.
This French quote has a nested
quote inside.
この日本語の引用には内部に入れ子
の引用があります。
CSS
:lang(en) > q {
quotes: "\201C" "\201D" "\2018" "\2019";
}
:lang(fr) > q {
quotes: "« " " »";
}
:lang(ja) > q {
quotes: "「" "」" "『" "』";
}
結果
複数の言語の照合
次の例は、カンマで区切られた言語コードのリストを提供して、複数の言語を照合する方法を示しています。 ワイルドカードを使用して、指定された範囲の言語を照合することも可能です。
CSS
/* nl および de と照合 */
:lang("nl", "de") {
color: green;
}
/* 引用符の省略と大文字小文字を区別しない照合 */
:lang(EN, FR) {
color: blue;
}
/* 言語の範囲を照合するワイルドカード */
:lang("*-Latn") {
color: red;
}
HTML
Dit is een Nederlandse paragraaf.
Dies ist ein deutscher Satz.
This is an English sentence.
Matching the language range of English.
Ceci est un paragraphe français.
Ceci est un paragraphe français en latin.
結果
仕様書
Specification |
---|
Selectors Level 4 # lang-pseudo |
ブラウザーの互換性
関連情報
:dir
擬似クラスはテキストの方向で照合します- HTML の
lang
属性 - HTML の
translate
属性 - RFC 5646: Tags for Identifying Languages (also known as BCP 47)