(ちょっとメモ)テキスト選択時のハイライトを変える ::selection
最終更新日:2020年03月18日 (初回投稿日:2020年03月18日)
テキスト選択時のハイライトなどを、::selection 疑似要素 で変更することができます。
ちなみに、この段落のハイライトカラーを変えています。テキストを選択してみてください。
今回はこの ::selection 疑似要素を使った小ネタをメモっておきます。
参考:
・CSS Pseudo-Elements Module Level 4 | W3C Editor's Draft
・::selection | MDN
ハイライト疑似要素(highlight pseudo-elements)
ハイライト疑似要素(highlight pseudo-elements)には、以下のものがあります。
- ::selection
- ユーザがテキストを選択してハイライトした部分をセレクターにします。
これはアクティブな部分の選択(テキストフィールド内とか)にも適用されます。
(::inactive-selection は、非アクティブな部分でのテキスト選択に適用されます) - ::spelling-error
- ブラウザがスペルエラーとしたテキスト部分をセレクターにします。
- ::grammar-error
- ブラウザが文法エラーとした部分をセレクターにします。
この中で、ブラウザが実装しているのは、今のところ ::selection だけ。これは IE9 から使えます。iOS Safari と Opera Mini は未対応です。
古い Firefox(ver.61まで)はベンダープレフィックス -moz- が必要です。
(参考:Can I Use 2020年3月記)
ハイライト疑似要素で使える CSSプロパティ
ハイライト疑似要素では、以下のプロパティのみ適用されます。
・color
・background-color
・cursor
・caret-color
・outline 関連のプロパティ
・text-decoration 関連のプロパティ
・text-emphasis-color
・text-shadow
今のところ、どのブラウザも使えるのは「color(文字色)」と「background-color(背景色)」だけみたい。(Firefox では「text-shadow」も使えました)
::selection を使ったサンプル
::selection 疑似要素を使ったサンプルです。
テキストを選択してください。ここも選択してください。
これは↓何も指定していないテキストエリアです。
サンプルのHTMLはこちら。
<p class="mihon">テキストを選択してください。<b>ここも選択</b>してください。
<textarea>テキストエリア</textarea></p>
サンプルのCSSはこちら。一応 古いFirefox用の -moz- も書いています。
.mihon textarea {display:block;margin:.5em 0;padding:.5em;border:1px solid currentcolor}
.mihon textarea:active, .mihon textarea:focus {outline:none}
.mihon::-moz-selection {color:white; background:#008000}
.mihon::selection {color:white; background:#008000}
.mihon > b::-moz-selection {color:red; background:yellow}
.mihon > b::selection {color:red; background:yellow}
.mihon textarea::-moz-selection {background:gold; text-shadow:2px 2px 2px #C00; caret-color:red}
.mihon textarea::selection {background:gold; text-shadow:2px 2px 2px #C00; caret-color:red}
Firefox(Mac)でのプレビューです↓
疑似要素は「1つのセレクターに1つだけ」というルールがあります。
そして「,(カンマ)」で区切ったセレクタの連結はできません。
例えば、上のサンプルの ::-moz-selection(古いFirefox用)の指定を、下記のように書いても、適用されません。
/*「,」によるセレクタの連結は不可*/
.mihon::-moz-selection, .mihon::selection {color:red; background:yellow}
内容が同じでも、2行に分けて書く必要があります。
/*これが正しい書き方*/
.mihon::-moz-selection {color:red; background:yellow}
.mihon::selection {color:red; background:yellow}
次回予告
次回は、text-overflowプロパティを使ってみよう。
ボックス内のテキストがオーバーフローして(はみ出て)いる時、「まだ続きがある」という意味でボックス内の行末に「...」を付けたりできます。これは知ってると便利!
- 関連記事
-
- 【58】各カラムの間隔を指定する column-gapプロパティ
- 【57-3】カラム数と幅をまとめて指定する columnsショートハンド
- 【57-2】マルチカラムのカラム幅を決める column-widthプロパティ
- 【57-1】マルチカラムのカラム数を決める column-countプロパティ
- 【56】ユーザーのテキスト選択などを制御する user-selectプロパティ
- 【55】ボックスのリサイズを可能にする resizeプロパティ
- 【54】テキストが はみ出る場合に「...」を付ける text-overflow
- (ちょっとメモ)テキスト選択時のハイライトを変える ::selection
- 【53】キャレットの色を変えられる caret-colorプロパティ
- 【52】カーソルの表示をいろいろ変えられる cursorプロパティ
- 【51】テキストの強調マークの位置を決める text-emphasis-position
- 【50-3】テキスト強調マークの種類と色のショートハンド text-emphasis
- 【50-2】テキストの強調マークの色を決める text-emphasis-color
- 【50-1】テキストの強調マークの種類を決める text-emphasis-style
- 【49】アンダーラインの位置を決める text-underline-position
初心者にも使いやすい(と思う)レンタルサーバー
「初心者ですがレンタルサーバーはどこがいい?」というご質問をよくいただきます。
自由にファイルをアップロードできる自分のサーバがあると便利ですよね。ローカル環境じゃなくサーバ上で試してみたい時がありますからね。
私が使っているのは、
スターサーバーや ロリポップ!
です。どちらも管理画面がわかりやすく、マニュアルも充実していて、料金も安い。どちらもライトプラン以上で WordPress が使えます。
初心者が始めやすいサーバだと思います。
ちょっと料金は高いけど、さくらのレンタルサーバや、エックスサーバー
は、やはり老舗なのでおすすめです。
両方とも高スペックでコスパが良く、老舗でユーザーが多いので、質問する場がたくさんあります。初心者だけど仕事でサーバが欲しい場合は、安心なのではないかと思います。
スポンサーリンク