ページ全体のどこでも選択を禁止する(パート2)
昨日、以下のページがCSSで選択を禁止しているらしいと書きましたが、今日、調べてみました。
結論から言うと、以下の4つの条件が揃うと、JavaScriptなしに、選択を禁止することができるみたいです。
- ブラウザがIE6であること(他のバージョンではテストしていない)。
- ドキュメントタイプがあること(XHTML1.0 Transitional)
- base要素があること(href属性の内容は、なんでもいい)
- スタイルで、positionをrelativeにし、widthは多めのピクセルにする。
サンプル
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <base href="xxxxhttp://gihyo.jp/" /> <style> #wrapper { position: relative; width: 1000px; } </style> </head> <body> <div id="wrapper"> <p>aaaaaaaaaaaaaa</p> <p>bbbbbbbbbbbbbb</p> </div> </body> </html>
上記4つの条件が一つでも崩れると、選択ができるようになります。
ちなみに、firefoxでは、4つの条件でも選択ができます。
とにかく、ドキュメントタイプとbase要素がスタイルに悪影響を及ぼしている感じかな・・・。