CSSの:langセレクターでlang属性値に基づいてすべての
要素をスタイリングする方法
CSSの:lang疑似クラスを使用すると、要素に指定されたlang属性の値に応じてスタイルを適用できます。これにより、同じHTMLドキュメント内に複数の言語が混在していても、それぞれの言語に合わせた見た目を簡単に設定できます。
:langセレクターの基本構文
基本的な書き方は以下のとおりです。
selector:lang(言語コード) {
/* スタイル */
}
たとえば、fr(フランス語)が指定された<p>要素だけを装飾したい場合は、p:lang(fr)のように記述します。
実装例
次のコードでは、lang="fr"が設定された段落のみ背景色を緑に変更しています。以下のコードを実行して、:langセレクターの動作を確認してみましょう。
<!DOCTYPE html>
<html>
<head>
<style>
p:lang(fr) {
background: green;
}
</style>
</head>
<body>
<p>This is my country</p>
<p lang = "fr">C'est mon pays</p>
<p>French is the language of France</p>
</body>
</html>
実行結果のポイント
- 1つ目の「This is my country」は
lang属性がないため、通常どおり表示されます。 - 2つ目の「C'est mon pays」には
lang="fr"が指定されているため、背景が緑色で表示されます。 - 3つ目の段落も
lang属性を持たないため、スタイルは適用されません。
このように:langセレクターを使えば、言語ごとにフォントや文字方向、配色などを切り替えることができ、多言語対応サイトのスタイリングに非常に便利です。なお、主要なモダンブラウザー(Chrome、Firefox、Safari、Edgeなど)で問題なく動作します。
-
CSSの:only-childセレクターを使って、親の唯一の子であるすべての<p>要素にスタイルを適用する方法
CSSの:only-childセレクターを使用すると、親要素内で唯一の子要素として存在する<p>要素だけを選択し、スタイルを適用することができます。兄弟要素が1つでも存在する場合、その要素は対象外となるため、特定の構造を持つHTMLに対してピンポイントでデザインを指定したいときに非常に便利です。 :only-childセレクターの基本構文 p:only-child { /* スタイルの指定 */ } 実装例 以下のコードでは、2つの<div>要素の中に<p>タグが配置されています。最初の<div>には<p>要素が1つだけ含まれてい
-
CSSでhr要素(水平線)のスタイルを設定する方法をわかりやすく解説
CSSを使ってhr要素(水平線)のスタイルを設定するには、borderプロパティを活用します。hr要素はデフォルトではシンプルな1本の線として表示されますが、border-topやborder-radiusなどを組み合わせることで、実線・破線・二重線・点線・角丸など、さまざまなデザインに自由にカスタマイズできます。以下に、代表的な5種類の水平線スタイルを実装したサンプルコードを紹介します。サンプルコード<!DOCTYPE html> <html> <meta name="viewport" content="width=device-