• HOME > 
  • CSS > 
  • CSSのセレクターで前方一致や部分一致を使って指定する方法

CSSのセレクターで前方一致や部分一致を使って指定する方法

投稿日:

このページにはGoogleアドセンス広告とアフィリエイト広告が含まれています。

カテゴリー記事のアイキャッチ画像

本記事は執筆時点(2024年05月16日)の情報をベースにしております。掲載している情報が最新ではない可能性がありますので何卒ご容赦ください。

広告
広告

CSSにおける前方一致や部分一致の指定の仕方

連番のIDを付与した要素などにCSSでスタイルを設定するとき、今までは別途クラスを付与して処理していたのですが、CSSでは属性の値を前方一致や部分一致でセレクターに指定できることを知ったので備忘録として残しておきます。

IDやクラス以外のhrefといった属性値であれば指定できるので、例えばリンク先ごとに処理を変えることも可能です。

CSSのセレクターの使い方について詳しくはこちらの記事をご覧ください。

前方一致をセレクタに使う

まずは前方一致で指定する方法です。以下のように記述して指定します。

CSSのセレクタの前方一致

例えば、以下のような内部リンクと外部リンクがあるとして、前方一致を用いれば簡単にスタイルを分けることができます。

HTML

<a href="http://example.com">http://example.com</a>
<a href="./sample">sampleへ</a>

CSS

a[href^="http"]:after{
    content:"\f35d";
    font-family:"Font awesome 5 free";
    font-weight:bold;
    margin-left:5px;
}
a[href^="./"]:before{
    content:"\f105";
    font-family:"Font awesome 5 free";
    font-weight:bold;
    margin-right:5px;
}

プレビュー

前方一致でスタイルを分ける例

部分一致をセレクタに使う

続いては部分一致でセレクタを指定する方法です。以下のように記述します。

CSSのセレクタの部分一致

例えば、以下のような下層ページへのリンクがあるとして、部分一致を用いれば簡単にスタイルを分けることができます。

HTML

<a href="./news/sample">お知らせ記事へ</a>

CSS

a[href*="/news/"]::before{
    content:"\f05a";
    font-family:"Font awesome 5 free";
    font-weight:bold;
    margin-right:5px;
}

プレビュー

部分一致でスタイルを分ける例

後方一致をセレクタに使う

最後は後方一致でセレクタを指定する方法です。以下のように記述します。

CSSのセレクタの後方一致

例えば、以下のような下層ページへのリンクがあるとして、後方一致を用いれば簡単にスタイルを分けることができます。

HTML

<a href="./mail-form">メールフォームへ</a>

CSS

a[href$="/mail-form"]::before{
    content:"\f0e0";
    font-family:"Font awesome 5 free";
    font-weight:bold;
    margin-right:5px;
}

プレビュー

後方一致でスタイルを分ける例

まとめ

以上がCSSのセレクターで前方一致や部分一致を使って指定する方法です。

前方一致や部分一致を使いこなせば、わざわざ専用のクラスを付与する手間が省略できるので便利ですね。

ちなみにこのセレクタの指定の仕方はJavaScriptのquerySelectorAllでも使えます。

広告
広告

関連する記事

サムネイル

【SCSS入門】@extendでスタイルを継承させる方法

2025年09月02日
CSSをより効率的に、そしてスマートに書くための拡張言語「SCSS」。最近になってようやくSCSSを使い始めた私が、その学習過程で特に便利だと感じた機能や、つま […]
サムネイル

【SCSS入門】@mixinでスタイルのまとまりを再利用する

2025年09月02日
CSSをより効率的に、そしてスマートに書くための拡張言語「SCSS」。最近になってようやくSCSSを使い始めた私が、その学習過程で特に便利だと感じた機能や、つま […]
サムネイル

【SCSS入門】入れ子(ネスト)の使い方【アンパサンド】

2025年09月01日
最終更新日:2025年09月02日
CSSをより効率的に、そしてスマートに書くための拡張言語「SCSS」。最近になってようやくSCSSを使い始めた私が、その学習過程で特に便利だと感じた機能や、つま […]
サムネイル

【SCSS入門】SCSSにおける変数の使い方【グローバルスコ……

2025年09月01日
最終更新日:2025年09月02日
CSSをより効率的に、そしてスマートに書くための拡張言語「SCSS」。最近になってようやくSCSSを使い始めた私が、その学習過程で特に便利だと感じた機能や、つま […]
サムネイル

【SCSS入門】VSCodeの拡張機能で即時コンパイルする方……

2025年09月01日
CSSをより効率的に、そしてスマートに書くための拡張言語「SCSS」。最近になってようやくSCSSを使い始めた私が、その学習過程で特に便利だと感じた機能や、つま […]
サムネイル

CSSのbackground-clipによるテキスト装飾【切……

2025年03月06日
background-clipプロパティを活用して文字の形に画像を切り抜いたり、文字にグラデーションを掛ける方法について備忘録としてまとめます。 backgro […]
サムネイル

CSS内で独自の変数を定義・参照する方法【カスタムプロパティ……

2025年02月06日
今更ながらCSSで変数を使えることを知ったので、今回はカスタムプロパティの使い方について備忘録としてまとめてみます。 CSSのカスタムプロパティとは? CSSの […]