CSS とひたすら格闘
今度は汐碕市のサイト
を MODx
で組んでみているのだが…… Firefox さんがワガママですよ? でも Google Chrome で見ても同じ現象なので、ボクの組み方の方が明らかに悪いのだろう。それはもう認めるしかない。
div#main というスタイルの中に、いろいろ配置しているのね。#sidebar とか #contents とか。
<div id="main">
<div id="sidebar">
ここにいろいろサイドバー関係
</div><!-- sidebar -->
<div id="contents">
ヘッダ関連
<div id="article">
記事とかいろいろ
</div><!-- article -->
</div><!-- contents -->
</div><!-- main -->
まー、簡単な構造的にはこんな感じ。で、main には border : 1px solid #66315d; が設定されている。IE で見ると、sidebar や contents、article をすべて main 包み込んでくれる。つまり、sidebar, contents, article すべてを囲んだ border が表示される。ところが Firefox や Google Chrome ではなぜか main はその下の sidebar の手前で終熄してしまうのだ。だが、それは border だけで、座標位置などは main にそって配置されているので、一応入れ子になっているのだろう……。
う~ん?? border の指定の仕方が不味いのか??
まー、ボクの事だ、なんか単純なミスをしているのだろう……。
とりあえず無視することにした<ヲイ
ということで、Firefox や Google Chrome では(そして恐らく Opera や Safari でも)全体の枠が表示されない……orz
もう一つは IE のバグらしいのだが、1 ドットの設定で IE と Firefox でレイアウトが変わる。
座標系が 0 からか 1 からかの違いなのかなぁ~?
どういうことかというと、汐碕市のサイトは幅 750 ドットで作られている。で、左のサイドバーと右のコンテンツに別れている。サイドバーが 160 ドット、コンテンツが 590 ドットとなる。で、IE だとこいつを 589 に設定しないとレイアウトが崩れる(サイドバーの下に来てしまう)。Firefox では大丈夫。じゃぁ 589 にすればいいじゃんって話になるんだけど、そうなると Firefox ではサイドバーとの間に 1 ドット隙間ができてしまうのだ。
うもー! まぁこれはたまたま一番上に配置するものだから、絶対座標で回避はできるけどさ……正直なんなのよ、と。
というわけで、ボクはいまだに Table でレイアウトをするクセが抜けない(笑)<笑い事じゃない
追記
上の 1 ドットのズレだが、top でムリヤリ座標指定では解消されなかった。absolute を指定すると解消されるが、absolute では左からの距離もブラウザの左端からになってしまい、今回のレイアウトでは使えない(Sidebar が左端に準拠していれば使えた)。
で、どうやって回避したかというと、スタイルシート定義の先頭行に > をつけると IE だけはそれを読むらしい(笑)。というわけで IE 用の定義を本定義のあとに書いて回避した。IE 用を本定義の前に書くと、IE が IE の定義を読み込んだあと本定義を読み込んでしまうので注意。
width : 589px;
> width : 588px; /* IE 用 */
餃子市
 |  |  |
上海焼きそば | 野菜湯麺 | シメジの山椒炒め |
 |  |  |
蝦のマヨネーズ和え | トウモロコシのサクサク揚げ | 食い放題始めたらしい |
#article