B+S+B | 段組とwidth解釈の違いとCSSハック

ARCHIVE:

<< そろそろ次のテンプレート | main | ココア&アーモンドと抹茶クッキー >>

段組とwidth解釈の違いとCSSハック

らーよさんちの図書館台帳が teeter tooter から sb に移行されました。ふふふ、「 MT いやなら sb イイヨー」とそそのかしたかいがありましたヨ(笑)

その際テンプレートのカスタマイズに頭を悩ませていたらーよさんのお役に立てればと、html と CSS のカスタマイズ(というかデザイン移行)がしやすいように Tab つけて整理したり、CSS に解説を入れたりしていたのですが、気がつけば本気になって台帳のデザインを移行している自分がいたり。だって以前さんざん悩んだはずの段組の不具合にまたもや遭遇するんだものー。悔しいじゃないですか! 一度はここの段組のやり方とは少し違う組み方にしてみたのですが、やっぱりどーやっても崩れやがるので、結局 CSS ハックを使いました。IE でも崩れないやり方っていうとやっぱりこれが一番いいのかな。

CSS ハックって怪しい響きだけど何Σ(゜Д゜;≡;゜Д゜)!? という方のために、参考になるサイト。

IE5.x や 6.0 にあるよく知られたバグに「ボックスの幅(width)の解釈が間違っている」というものがあります。詳しくはADPさんの記事を参照していただきたいのですが(説明が面倒だからじゃないよ!)、えー長文読むのマンドクセな方に要点だけかいつまむと、つまり「 CSS の正しい解釈的にはボックスの幅ってのはpaddingやborderを除いた内容のみの幅で、Opera とか Firefox とか N7 あたりはほぼ正しく表示するんだけど、IE は padding と border を含めて width として扱っちまうので、そこを考慮しないで作ると幅がずれる(=幅固定の段組が崩れる)」ということ。参考先の画像を見ていただけると明解です。解決方法も解説されておられるのでぜひ。

で、ADPさんの記事の「外側のブロック要素で width を指定し、中身のブロック要素で padding を指定する」という方法で解決してもいいのですが( float を使った段組の Tips も解説されてます。こちらの Tips はどれもこれも参考になりますな)、ブロックをあんまり入れ子にしたくない場合に使うのが前述の CSS ハックです。ハックとか言われると怪しい響きに感じますが、一応は間違った記述方法ではないらしいので、固定幅の段組が崩れやがるんだよムキー!となっている方は一読してみるといいかも。

COMMENTS

れお | 2004/12/09 18:25
勉強になったよ同志!(´Д⊂
てゆーか何かちょっと賢くなった気がするヨ!(気のせいです)
こーゆー解説サイトを読んでるのは楽しいんだけどねえ……_| ̄|○(そして読むだけで時間が過ぎていく罠)
| 2004/12/10 04:19
お役に立てたなら嬉しいよ同志!(*゜Д゜)ノ
こういう解説サイトを読んでいくとどんどん頭が「CSSマンセー、テーブルレイアウトありえない、NNは窓から投げ捨てろ!」という思考になっていく危機を感じます(笑)(ここは今はNN4.x完全切り捨てになってるけど、そのうち対応する気はあるんだ、気だけは…)
そんな原理主義志向を更に増加させる危険のあるこっちのサイトさんも必見ですよ。
http://www.minutedesign.com/
design と CSS に関するテキストがすごく面白かったので、ぜひ。
れお | 2004/12/11 18:31
Σ(´□`; またそーやってわたくしを解説サイト読んじゃうよスパイラルに陥らせる罠を出してくるのですね同志!
(えーとブックマークブックマーク……)

ところで話は変わりますが、このコメント投稿するとき、くっくぃチェックボックスにチェック入れて送信しても次回以降くっくぃ効いてないのは仕様ですか、それともくっくぃ様の愛のムチですか。
らーよ | 2004/12/23 22:32
それはおそらく「Macだから」ですよれおさん。
うちもそーだしな(爆)(sbでクッキー認識しません)
| 2004/12/25 02:39
はっ、そういえば前にれお者宛てにOSとブラウザを教えてたもれというデリメッセを送ったんだけど、ネットの波にさらわれてしまったかすら(笑)

らーよさんご指摘のとおり、MacIEだとクッキー保存されないみたいです(^^;) いまんとこ仕様みたいね…(報告は出てるから、来年の大幅バージョンでもしかしたら対応されるかも?)

POST A COMMENT

  • タグは使えませんが、URLには自動的にリンクが貼られます
  • email は管理人のみ確認することができます