CSSを使用して選択したテキストの色を指定することに関するいくつかの質問:
ブラウザによって実装されるデフォルトのCSSに次のようなルールが存在するとします。
::selection { background-color: Highlight; color: HighlightText; }
さらに、次のようなルールがサイト固有の作成されたスタイルシートで定義されていると想像してください。
body { background-color: white }
これらのルールを考えると
background-color
、選択した本文のテキストはどうなりますか?それでしょうかwhite
、それともHighlight
?おそらく、作成者スタイルシートのルールはデフォルトのルールをオーバーライドする必要があります。これは、特異性に応じて、後で指定されるのと
body
同じように特異的::selection
であるためです(したがって、前のエントリをオーバーライドする必要があります)。一方、それは選択されたときにテキストが見えなくなる結果になります(選択されたテキストが白地に白になるように
Highlight
青とHighlightText
白の場合、選択されたテキストを白に上書きするbackground-color
と白になるため) -オンホワイト)。ステップ2の動作が望ましくないと仮定して、それを回避するにはどうすればよいですか?
これはユーザースタイルシートのバグだと言ってください。これは、指定
background-color
せずに指定するべきではありませんcolor
か?疑似要素がセレクターの一部として指定されている
body
場合を除いて、選択した本文テキストと一致しないと言いますか?::selection