Weblog

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. Linksをサムネイル化した
  3. HTML 4.01とCSS2のHTMLヘルプ
  4. pre要素へのスタイル指定
  5. よく使うライセンス・フリーのフォント
  6. CSS2 Specificationでのプロパティの出現順序
  7. ちょっとだけリデザイン @ 2006/08/29
  8. アスタリスクをプロパティ名の頭につけるというCSSハック
  9. :first-letter擬似要素と各擬似クラス絡みのInternet Explorer 6のバグ
  10. CSSコーディング・スタイル

Comments

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

Weblog archives

by Category

This page was last modified on 2006-08-24T04:21:25+09:00 (in 0.099 secs).