CSSの属性セレクタで特定の属性を持つ要素を選択する方法
HTML要素の中から「特定の属性を持つもの」だけを選択したい場合は、CSSの属性セレクタ([attribute]セレクタ)を使用します。
例えば、画像のalt属性やリンクのtarget属性のように、任意の属性名を角括弧 [ ] で囲んで指定するだけで、その属性を持つすべての要素にスタイルを適用できます。
基本的な書き方
selector[attribute] {
/* スタイル */
}サンプルコード
以下のコードでは、img[alt]と指定することで、alt属性を持つ画像だけにオレンジ色の枠線が適用されます。
<!DOCTYPE html>
<html>
<head>
<style>
img[alt] {
border: 3px solid orange;
}
</style>
</head>
<body>
<img src = "https://www.tutorialspoint.com/videotutorials/images/tutor_connect_home.jpg" height="200" width="200">
<img src = "https://www.tutorialspoint.com/videotutorials/images/tutorial_library_home.jpg" height="200" width="200" alt="Tutorials Library">
</body>
</html>この例では、1つ目の画像にはalt属性がないため枠線は表示されず、alt="Tutorials Library"を持つ2つ目の画像のみにオレンジ色の枠線が付きます。ブラウザで表示して動作を確認してみてください。
属性セレクタの主な種類
属性セレクタには、単純な存在チェック以外にも便利なバリエーションがあります。
[attribute]:指定した属性を持つ要素を選択[attribute="value"]:属性値が完全に一致する要素を選択[attribute~="value"]:属性値に指定した語(スペース区切り)を含む要素を選択[attribute^="value"]:属性値が指定した文字列で始まる要素を選択[attribute$="value"]:属性値が指定した文字列で終わる要素を選択[attribute*="value"]:属性値に指定した文字列を含む要素を選択
用途に応じてこれらを使い分けることで、classやidに頼らず柔軟かつ効率的に要素をスタイリングできます。
-
CSSでレスポンシブなフローティング要素を作成する方法【初心者向け解説】
CSSでレスポンシブ対応のフローティング(回り込み)要素を作成するには、float プロパティと @media(メディアクエリ)を組み合わせます。これにより、画面幅に応じて要素の左右配置を動的に切り替えることができます。 サンプルコード 以下のコードは、画面サイズに応じてfloatの方向が入れ替わるレスポンシブなレイアウトの実装例です。 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale
-
CSSでプレースホルダーの色を変更する方法|::placeholder疑似要素の使い方
CSSで入力フォームのプレースホルダー(placeholder)の文字色を変更するには、::placeholder 疑似要素を使用します。ただし、ブラウザによって対応状況が異なるため、Internet Explorer や旧 Microsoft Edge 向けのベンダープレフィックスも併せて指定しておくと、より多くの環境で意図した色が反映されます。それぞれのセレクタの役割は以下の通りです。::placeholder … 標準的な疑似要素(Chrome・Firefox・Safari などの主要ブラウザに対応):-ms-input-placeholder … Internet Explorer 1