CSSの識別名にアンダースコアを使う

Posted at 2004-01-11T15:33:00+09:00 in Web Design

CSSの識別名(identifier)には、アンダースコア(_)が使えるわけですが、どうやらInternet Explorer 5以降には、これにまつわるちょっとしたバグがあるみたいです。そのバグというのは、「識別名の先頭にあるアンダースコアを無視する」というもの。CSS: The Underscore Hackで見つけました。

  • Underscore ("_") is allowed in CSS identifiers by the CSS2.1 Specification
  • Browsers have to ignore unknown CSS properties
  • Windows IE 5+ doesn't recognize the "_" at the beginning of CSS property name

このページの例にもあるように、こんな書き方をするとMozillaやOperaとInternet Explorer 5以降で適用されるスタイルを切り分けられるようです。

#menu {
  position: fixed;
  _position: absolute;
}

MozillaやOperaではfixed、Internet Explorer 5以降ではabsoluteが適用されるということになりますね。

子セレクタ使って切り分けるよりすっきりしそうですな。存在しないプロパティ(上記の例で言うと_position)を指定するため、アレなテクニックではありますが、実用度は高いですね。

Recent entries from same category

このエントリと同じカテゴリに投稿された最近10件のエントリです。

  1. CSSグラデーションのちょっとしたテクニック #2
  2. google-code-prettifyを導入した
  3. CSSグラデーションのちょっとしたテクニック #1
  4. YUI 3: CSS Resetの問題
  5. Pure CSSな吹き出し
  6. リデザインとborder-radiusとtext-shadow
  7. 404エラーページの改善
  8. HTTPエラーページ
  9. 無料で400以上のフォントを手に入れよう!
  10. 安全な@font-faceの書き方(抄訳)

Comments

JavaScriptに対応、または有効な環境の場合、ここにこのエントリへのはてなブックマークコメントが表示されます。