【CSS】テキストの選択時の色をカスタマイズする方法

テキストを選択したとき、その見た目をカスタマイズすることができます。ブラウザのデフォルトでは、選択したテキストの背景色や文字色は決まっていますが、CSSを使用することでこれらを自由に設定することができます。特に、ブログやウェブサイトのデザインにおいて、選択したテキストの外観を統一したり、アクセントカラーに合わせたりすることができます。

スポンサーリンク

CSSの::selection疑似クラスを使用する

CSSの::selection疑似クラスを使用することで、テキストを選択したときの背景色や文字色を指定することができます。以下に、具体的な使用例を示します。

::selection {
    background-color: #ffa500; /* 選択時の背景色をオレンジ色に設定 */
    color: #ffffff; /* 選択時の文字色を白色に設定 */
}

このCSSルールセットを適用することで、テキストを選択した際に背景色がオレンジ色に、文字色が白色に変わります。これにより、選択したテキストの見た目をデザインの一部として統一することができます。

サンプル

これはサンプルです。テキストを選択してみてください。

複数の要素に適用する方法

もちろん、特定の要素だけでなく、ページ全体にこのスタイルを適用することもできます。例えば、全てのテキスト要素に対して同じ選択時のスタイルを適用したい場合は、次のようにCSSを追加します。

body::selection {
    background-color: #ffa500;
    color: #ffffff;
}

よくある質問(FAQ)

Q. CSSでテキスト選択時の色を変えるには?
A. ::selectionセレクタを使います。例:::selection { background-color: #0070f3; color: white; }。backgroundとcolorのみ変更可能です。
Q. 特定のコンポーネントだけ選択色を変えるには?
A. .component::selectionのようにコンポーネントのクラスをスコープとして::selectionを設定します。
Q. テキスト選択を完全に禁止するには?
A. user-select: noneを設定します。コピーが必要なコードブロックや重要なテキストには適用しないようにしてください。アクセシビリティへの影響も考慮してください。

まとめ

CSSの::selection疑似クラスを使うことで、テキストを選択した際の背景色や文字色を自由にカスタマイズすることができます。これにより、サイトのデザインに統一感を持たせたり、特定のカラースキームに合わせたりすることができます。ぜひ、自分のサイトに適用して、ユーザーエクスペリエンスを向上させるために活用してみてください。