IDEA*IDEAさんで取り上げられていたフッターを選択して反転させるとドイツ国旗が現れるというサイトが先日話題になっていましたね。
該当サイトはこちらのランダムパスワードジェネータです。
今回は、この機能の実装方法をご紹介します。
htmlの記述は以下のとおりです。
1 2 3 4 5 |
<div class="copyright"> <span class="flag-part-1">黒くなる部分</span> <span class="flag-part-2">赤くなる部分</span> <span class="flag-part-3">黄色になる部分</span> </div> |
span にてflag-part-1からpart3までクラス分けを行います。
次に、cssにて以下のように設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
.copyright{ color:#ccc; text-align:center; } .flag-part-1, .flag-part-2, .flag-part-3{ margin:10px 0; display:block; } /*反転時の色を::selectionで設定*/ .flag-part-1::-moz-selection { background:#000 } .flag-part-1::selection { background:#000 } .flag-part-2::-moz-selection { background:#d00 } .flag-part-2::selection { background:#d00 } .flag-part-3::-moz-selection { background:#ffce00 } .flag-part-3::selection { background:#ffce00 } /*反転時に見えなくなるので、黄色背景の文字色を黒に変更*/ .flag-part-3::-moz-selection { color:#000 } .flag-part-3::selection { color:#000 } |
::selectionと::-moz-selectionが反転時の擬似要素なので、ここで背景色を変更するだけです。
コロン(:)が2つ必要なことだけ注意が必要です。
サンプルページはこちら