レイアウトには必須のfloatですが、使い方を間違えると思いもよらないレイアウトになることがある。
Tech de Goさんのまとめを参考にメモ
レイアウトには必須のfloatですが、使い方を間違えると思いもよらないレイアウトになることがある。
Tech de Goさんのまとめを参考にメモ
IE 7ハック
Windows IE 7のみにスタイルを適用するハック。適用したいセレクタの前に「*:first-child+html」を付ける。CSS Validatorに通る。
*:first-child+html p { color:#FF0000; }
スターハック
4〜6, Mac 4〜5
Windows IE 4〜6、Mac IE 4〜5のみにスタイルを適用する場合に用いる。スターつまり*を利用することからこのネーミングになったものと思われる。利用法としては、適用したいセレクタの前に「* html」を付ける。CSSの書式上は正しくないが、CSS Validatorには通る。
* html p { color:#FF0000; }
スターハック
ie5.5〜6, Mac 5
Windows IE 5.5〜6、Mac IE 5、Safariのみにスタイルを適用する。適用したいセレクタの前に「html*」を付けるのだが、空白を含めないように注意したい。書式としては不正で、CSS Validatorに通らない。
html*p { color:#FF0000; }
Hollyハック
Mac 5
Mac IE 5のみにスタイルを適用、あるいはMac IE 5のみ除外したい場合に用いる。適用したいスタイルを、それぞれ以下のコメント形式で囲めばよい。CSS Validatorに通る。
なお、Hollyハックは別名バックスラッシュ(\)ハックとも言われている。文字コードがShift JISのときにはバックスラッシュの代わりに「¥」を利用すればよい。
Mac IE 5のみにスタイルを適用
/* これ以降Mac IE 5のみに適用される \*//*/
p { color:#FF0000; }
/* これ以降Mac IE 5以外にも適用される */
Mac IE 5のみスタイルを除外
/* これ以降Mac IE 5には適用されない \*/
p { color:#FF0000; }
/* これ以降Mac IE 5にも適用される */
ハッシュハック
4〜6, Mac 5 opera7
Windows IE 4〜6、Mac IE 5、Firefox、Opera 7のみにスタイルを適用する場合に用いる。適用したいプロパティの前に「#」を付けて使う。CSSの書式としては不正で、CSS Validatorに通らない。
p { #color:#FF0000; }
アンダースコアハック
ie4〜6
Windows IE 4〜6のみにスタイルを適用する場合に用いる。適用したいプロパティの前に「_(アンダースコア)」を付けるだけだが、CSSの書式としては不正で、CSS Validatorに通らない。
p { _color:#FF0000; }
もし同様の処理をCSS Validatorに通るかたちで実現したいのなら、スターハックとHollyハックを用いて
/* hide from Mac IE \*/
* html p { color:#FF0000; }
/* */
とすればいい。