2012-03-06 15 views
4

私は::selection CSSを使用しています。私のテキストは、白い背景の上に黒で書かれていますが、例えば、青、緑または赤で書かれたいくつかの要素については、私はそれを選択すると、テキストの色と背景色がスワップされます:通常のテキストは黒で白、赤でテキストは赤で白などになります。CSS :: selectionは自動的に色と背景色を入れ替えます

もちろん、私が持っているテキストの種類ごとに特定の規則を入れて、それを行うことです。しかし、自動的にこれを行う簡単な方法が存在するかどうか、私は考えているすべての種類のテキストを考える必要はないのだろうかと思います。指定されたフォントの色を取ることに我々が持っている最も近いものがbackground-color: currentColorですが、他の値にcolorを設定したら、currentColorではなく、オリジナルの新しい値を取ります:

答えて

4

は残念ながら、これを自動的に行うための方法はありません。

意味、このルール:currentColorcolor: white宣言の後に取って、whiteにコンピューティングを終わるので

::selection { 
    background-color: currentColor; 
    color: white; 
} 

は、実際に、白にテキストの色と背景色の両方を設定します。これは、background-color宣言の前後に関係なく適用されます。

ここには私が意味するものを示すinteractive fiddleがあります。

+0

この詳細な説明をありがとうございます! – Bruno