Mac IE でのセンタリング まとめ(暫定版)
- Author:
- kz
- Date:
- 2006-12-08 (Fri) 14:29
- Category:
- (X)HTML/CSS
前エントリーにて書いた「Mac IE でのセンタリング」は、固定幅のみに対応したものでした。今回は固定幅に加え、可変幅にも対応したものになります。さらに、コードをちょっとわかりやすくまとめてみました。
可変幅の場合、親ブロックである div#content の幅を%などの相対指定にします。そして、Mac IEのみに margin-left で、div#contentの幅の半分の値をマイナスします。
つまり、div#contentを表示領域の80%の横幅で中央配置にしたい場合、Mac IE以外のブラウザには
body { text-align: center; /* IE6互換モード用 */ } div#content { overflow: hidden; width: 80%; margin: 0 auto; text-align: left; /* IE6互換モード用 */ }
と指定し、Mac IEには、
div#content { position: relative; left: 50%; width: 80%; margin-left: -40%; /* 横幅の半分の値 */ }
といったかたちで指定します。
これを、Holly Hackを用いて記述すると、
div#content { overflow: hidden; width: 80%; margin: 0 auto; text-align: left; /* IE6互換モード用 */ /* これ以降Mac IE 5のみに適用される \*//*/ position: relative; left: 50%; margin-left: -40%; /* これ以降Mac IE 5以外にも適用される */ }
こういったかたちになります。
前回とは違い、同じルールセット内にHolly Hackを用いて記述していることでよりわかりやすくなったと思います。
では、前回のも含めて以下に暫定版のまとめを記述します。
固定幅(ex. 800px)
body { text-align: center; } div#content { overflow: hidden; width: 800px; margin: 0 auto; text-align: left; /* Mac IE 5のみに適用 \*//*/ position: relative; left: 50%; margin-left: -400px; /**/ }
可変幅(ex. 80%)
body { text-align: center; } div#content { overflow: hidden; width: 80%; margin: 0 auto; text-align: left; /* Mac IE 5のみに適用 \*//*/ position: relative; left: 50%; margin-left: -40%; /**/ }
いかがでしょうか。
なお、横幅が%指定の可変幅の場合は以下の記述でもセンタリングできます。
可変幅パターン2(ex. 80%)
div#content { overflow: hidden; width: 80%; margin: 0 10%; }
上記の場合、左右のmarginの値を、100%から横幅を引いたものの半分にします。つまり横幅が80%だった場合、あまりは20%となるわけですので、左右に10%ずつ指定することとなります。この場合は、Mac IEでも同様ですので、Holly Hackを使わずに記述することができます。
既存のブログが、カラム部分だけ左寄せになってしまう!ってな方は是非お試しくださいー。
Comment:0
Trackback:0
- TrackBack URL for this entry
- http://miniturbo.org/mt/mt-tb.cgi/18
- Listed below are links to blogs that reference
- Mac IE でのセンタリング まとめ(暫定版) from miniturbo::Blog