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)を指定するため、アレなテクニックではありますが、実用度は高いですね。
Weblog archives
by Month
- October, 2006 (9)
- September, 2006 (23)
- August, 2006 (31)
- July, 2006 (8)
- October, 2005 (13)
- September, 2005 (24)
- August, 2005 (26)
- July, 2005 (2)
- June, 2005 (2)
- May, 2005 (13)
- April, 2005 (30)
- March, 2005 (33)
- February, 2005 (13)
- January, 2005 (10)
- December, 2004 (28)
- November, 2004 (27)
- October, 2004 (25)
- September, 2004 (38)
- August, 2004 (52)
- July, 2004 (45)
- June, 2004 (41)
- May, 2004 (48)
- April, 2004 (36)
- March, 2004 (51)
- February, 2004 (55)
- January, 2004 (63)
- December, 2003 (46)
- November, 2003 (63)
- October, 2003 (92)
- September, 2003 (61)
- August, 2003 (93)
- July, 2003 (57)
- May, 2003 (5)
- April, 2003 (35)
- March, 2003 (35)
- February, 2003 (37)
- January, 2003 (62)
- December, 2002 (32)
This page was last modified on 2006-08-24T04:21:25+09:00 (in 0.099 secs).