CSSでlang属性値が「en」で始まるすべての要素を選択する方法
CSSの [attribute|="value"] セレクタを使用すると、指定した属性値で始まる要素を選択できます。このセレクタは、属性値が指定した値と完全一致するか、指定した値にハイフン(-)が続いている場合にマッチします。
基本構文
[属性名|="値"] {
/* スタイル定義 */
}
実装例
以下の例では、lang 属性が「en」で始まるすべての要素(en、en-US、en-GB など)にオレンジ色のボーダーを適用しています。
<!DOCTYPE html>
<html>
<head>
<style>
[lang|="en"] {
border: 5px solid orange;
border-radius: 5px;
}
</style>
</head>
<body>
<p lang="en">Hello</p>
<p lang="en-US">Hello (US)</p>
<p lang="en-GB">Hello (UK)</p>
<p lang="no">Hei</p>
<p lang="ja">こんにちは</p>
</body>
</html>
解説
- [lang|="en"] -
lang属性が「en」で始まる要素を選択 - 「en」、「en-US」、「en-GB」などはマッチします
- 「no」、「ja」、「english」などはマッチしません
このセレクタは言語コードのバリエーション(地域コード付きなど)をまとめてスタイリングする際に特に便利です。
-
CSSの:validセレクターで有効な値を持つinput要素をスタイリングする方法
CSSの:validセレクターを使用すると、有効な値が入力されたすべての<input>要素に対してスタイルを適用できます。 :validセレクターとは :validセレクターは、フォームの入力内容がバリデーション(妥当性チェック)を通過した場合にのみスタイルを適用する擬似クラスです。たとえば、type=emailの入力欄に正しい形式のメールアドレスが入力されたときだけ、背景色や文字色を変えるといった使い方ができます。逆に、無効な値が入力された場合にスタイルを適用したい場合は「:invalid」セレクターを使用します。両者を組み合わせることで、ユーザーに入力の正誤を視覚的にフィードバ
-
CSSで指定した単語を含む属性値を持つ要素を選択する方法
CSSの [属性名 ~= 値] セレクターを使用すると、属性値の中に指定した単語が含まれる要素だけを選択できます。 このセレクターは、属性値が空白文字で区切られた複数の単語で構成されている場合に、その中に指定した単語が「独立した1つの単語」として含まれているかどうかを判定します。そのため、部分文字列として一致するだけでは選択されない点に注意してください。 次のサンプルコードでは、alt 属性に「Tutorials」という単語を含む画像に対して、オレンジ色の枠線と角丸を適用しています。 サンプルコード <!DOCTYPE html> <html> <head