:lang擬似クラスを試してみる

多言語サイトなどで使うと便利な:lang擬似クラスを試してみます。

サンプルコード

<html>のlang属性を使ってスタイルを変更してみます。

CSS

.text {
	color: red;
}
:lang(en) .text {
	color: blue;
}
:lang(es) .text {
	color: green;
}

HTML

<html>のlang属性をjaにしてみます。

<p class="text">lang="ja"</p>

赤色で表示されます。
jaのデモページ

HTML

<html>のlang属性をenにしてみます。

<p class="text">lang="en"</p>

青色で表示されます。
enのデモページ

HTML

<html>のlang属性をesにしてみます。

<p class="text">lang="es"</p>

緑色で表示されます。
esのデモページ

HTML

<html>のlang属性をen-USにしてみます。

<p class="text">lang="en-US"</p>

前方一致のため、enと同じく青色で表示されます。
en-USのデモページ
 

サンプルコード2

<body>内の要素に対してlang属性を指定してスタイルを変更してみます。

CSS

.text {
	color: red;
}
.text:lang(en) {
	color: blue;
}
.text:lang(es) {
	color: green;
}

HTML

<p class="text">lang="ja"</p>
<div lang="en">
	<p class="text">lang="en"</p>
</div>
<div lang="es">
	<p class="text">lang="es"</p>
</div>
<div lang="en-US">
	<p class="text">lang="en-US"</p>
</div>

祖先要素で指定されたlang属性を継承するため、各.textでスタイルが適用されます。
lang属性を指定した場合のデモページ
 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930