CSSハックとサヨナラもしくはハイタッチ
2007/07/31 Tue [Edit]
前回のエントリではCSSハックの一覧表を掲載しました。しかし CSS ハックを使うと一抹の不安が残る方も多いのではないでしょうか?
今回はそんな方達に CSS ハックとサヨナラしてもらう為の方法をご紹介します。
また、一抹の不安など何も無し!ハックとは親友だ!なんてトム・ソーヤみたいな方も、更にハックと仲良くなれるチャンスです。これからはハックとハイタッチの毎日です。
・・・と、かなり大風呂敷をひろげてしまいましたが、私もこれから実践しようと思っている方法のご紹介です。
CSSハック一覧表
2007/07/30 Mon [Edit]
CSS のハックが少しずつ貯まって来たので一覧表を作ってみました。
CSS ハックとは何か簡単に説明すると、それぞれの WEB ブラウザのバグなどを利用し、特定の WEB ブラウザに特定のプロパティ(設定)を適用させたり、逆に適用させないようにし、CSS 内に併記した複数のスタイルのプロパティ(設定)を、それぞれの WEB ブラウザに振り分ける技術のことです。
これからは私が使用した CSS ハックや詳細などはこのエントリで随時まとめていこうと思います。
〔追記:2007年12月4日〕
〔追記:2008年1月12日〕
〔追記:2009年7月23日〕
IEハック(アンダースコア・ハック)
2007/06/09 Sat [Edit]
Windows の IE 用の CSS ハックで簡単なものを発見!その名はアンダースコア・ハックです。下のソースの赤い部分がアンダースコア・ハックです。
.sample {
width : 300px;/*その他ブラウザ用*/
_width : 320px;/*IE用*/
padding : 20px;
}
プロパティの前に _ を足すだけなので簡単ですが、その他のブラウザ用と IE 用のプロパティの順番が前後してしまうとハックが適用されないので、そこだけ注意が必要です。
つまり、まず普通のブラウザ用のプロパティを記述し、次に IE だけが解釈するアンダースコア・ハックを使いプロパティを記述します。
ちなみにアンダースコア・ハックはW3CでCSSの検証をするとエラーになります。
また、IE7 では使えません。と言うかエラーなので使えないのが当たり前のようです。IE7 で改善された部分と言うことです。
冒頭で「発見!」とか大騒ぎしていますが、とても有名なハックです。私が最近知っただけですので温かい目でお願いします。
CSS ハックが幾つか溜まってきたので、そのうちCSSハック一覧表でも作ろ。
SafariとOperaのCSSハック
2007/05/16 Wed [Edit]
覚え書きです。
仕事でボックスに overflow-y 属性を指定してある Web サイトの HTML を修正中に見つけた CSS ハックです。
今回、Mac の純正ブラウザ Safari と Windows の Opera で overflow-y では overflow-y 属性を指定出来きず意図したデザインに出来なかったので、overflow にて別途指定しました。
どうやら overflow-y は IE 独自の属性のようです。 ちなみに Firefox は Mac も Windows も問題なく指定した通り表示されました。
ちなみに意図したデザインとはインラインフレーム(iframe)の変わりに div 要素で同じ見た目にする。でした。
div#hajime {
width : 200px;
height : 200px;
overflow-y : scroll; /* IE独自の属性 */
}
html:first-child div#hajime { /* SafariとOpera用 */
width : 200px;
height : 200px;
overflow : scroll;
}
■結論
Firefox はえらい!ルーールルルルルル♪
■追記(07/05/19)
Netscape(ネットスケープ)を完全に忘れてしまっていました・・・
結局 IE 独自の属性 overflow-y は使わない事に。
■さらに追記(07/05/21)
overflow : auto;
で、全てが丸く収まりました。
CSSハック一覧表作りました。
Safari の CSS ハック
2007/05/10 Thu [Edit]
覚え書きです。
Mac の純正ブラウザ Safari 用の CSS ハックです。なるべく IE6 用の CSS ハックを利用して制作を心がけているのですが Safari のみに適用させる CSS ハックを見つけたのでφ(・ω・ )かきかき
html[xmlns*=""] body:last-child div.hajime { /*Safari用のハック*/
font-weight : normal;
}
●課題
CSS ハックにおんぶにだっこで大丈夫?
CSS ハック一覧表を作りました。








