IEの為のCSSハック


IEの為のCSSハック

IEってめんどくさい

Webサービスを作成しているときに考えないといけないのは、ブラウザ毎に事なる挙動にならないようにすることです。
特にIEはほかのブラウザ(Chrome, Firefox, Opera, Safari...)に比べるとバージョンごとに変な挙動を起こしたりすることが多くて大変です。
そのため、IEバージョン○○のみこの挙動とかを設定してあげる必要があります。
それを実現するのがCSSハックです。

※一応これは応急処置的な書き方なので、非推奨です。。。

IEのCSSハック方法

CSSに以下の記述をすることで、ハック(適応)が可能になります。

  • IE6

先頭に「_」をつけることでハック!

.sample {
  _color: red;
}
  • IE7

先頭に「*」をつけることでハック!

.sample {
  *color: red;
}
  • IE8

末尾に「\9」をつけることでハック!

.sample {
  color: red\9;
}
  • IE9

親要素として「:root」をつけて、
末尾に「\0/」をつけることでハック!

:root .sample {
  color: red\0/;
}

使用例

例えば、IE6, 7だけ挙動を制限したい時

.ie_hack {
  _visibility: hidden;
  *visibility: hidden;
}

上記のようにclassを作って、隠したい要素に

<p class="ie_hack">この文字は消えます</p>

これでうまく機能を制限することができます。

以上、がIEのCSSをハックする方法でした。