2005-12-27 アーカイブ

http://hxxk.jp/2005/12/27/

WinIE と !important

記事データ

投稿者

望月真琴

投稿日時

2005-12-27T22:46+09:00

タグ
概要

WinIE は !important によって最優先とされた命令も、同一プロパティにおいてより後の位置で命令を上書きすることで、 !important よりも命令を優先することができてしまいます。

リプライ

リプライはまだありません。

記事本文

WinIE!important に未対応 ?

巡回先である K's Web にて気になる記述を発見。

Win IE 以外のブラウザは "!important" の記述がある特定の値を優先して認識するが、Win IE は未対応のために、それ以降に別の値を記述し、これを上書きする。

色々と CSS の実装に不備が多い WinIE でも、 !important による優先は実装しているはず…… ?

……と思ったら、 Internet Explorer (Windows) CSSバグリスト - 同一ブロック内では!importantが無視される(5.x/6.0) にて

同一ブロック内に1つのプロパティについて!importantキーワードがある宣言とない宣言を置いた場合、!importantキーワードは無視されより後にある宣言が有効になる。

と書かれているバグのことを指しているようですね。 よって、同一プロパティ内に !important 無しの記述を書かないか、あるいは書いていても !important ありの記述よりも前に書けば問題はありません。 ( 同一プロパティ内にて 2 つの記述をすること自体あまり考えられませんが。 )

WinIE にページの内容を見せないバッドノウハウ

ということは、

*{
  visibility:  visible !important;
  visibility:  hidden;
}

という記述を CSS に書くと、 WinIE ではページの内容が表示されないということになります。 ( 実際に試しました。 ページの内容は全く表示されませんでした。 )

もちろん、製作者スタイルシートを無効にしていたり、ユーザスタイルシートを使っていたりすれば内容を表示できますし、またそうでなくとも単にブラウザの画面上に表示されないというだけなので、 表示 (V)ソース (C) としてソースを表示すれば内容の取得はできます。

実際にこういうことをやっても、製作者にも閲覧者にもデメリットは多くあれどメリットはあまりありません。 ただ、こういったバッドノウハウが存在するということだけをメモしておきます。

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。 この記事に対するご意見やご質問、ご感想などありましたら個別記事ページの送信フォームからお送り下さい。

補足情報

著作、講演、制作実績など