[Seasar-user:7683] [Teeda]Gridの列幅に、スタイルシートのpadding値が加算されてしまう

Tetsuya Midorikawa [E-MAIL ADDRESS DELETED]
2007年 5月 18日 (金) 10:25:35 JST


緑川です。

Gridの列幅を、th/td共にwidthを固定して利用しています。

・各列は縦罫線で区切る
・可読性のため、縦罫線と文字列との間隔を若干空ける

との要求があるため、Teedaが生成するHTMLに合わせてデザイン担当者に
スタイルシートを調整してもらって対応していました。
具体的には、

.gridTable td {
border: solid #707070 1px;
・
・
・
}

.gridCell {
padding-left: 5px;
padding-right: 5px;
・
・
・
}

といった感じになっています。対応ブラウザはFirefox1.5以降とIE6以降
で調整し、teeda-extension 1.0.3 までは全く問題なく確認が取れていた
のですが、teeda-extension 1.0.4 になって、何故かFirefox上において
各列幅にpaddingの値が加算され、テーブルのボディ部全体が広がって、
ヘッダ部と異なる幅で表示されるようになってしまいました。
上記の例ですと、padding左右合計で各列に10ピクセルが加算されます。

同様にヘッダ部各列の .gridHeader にもpaddingを設定すれば、
ヘッダ部全体の幅も広がるのでボディ部と整合するのですが、IE側では
この現象(列幅へのpadding値の加算)は起こらないため、ブラウザ間で
テーブル全幅に差が生じてしまって困るということになっています。

原因を調査中なのですが、適用しているスタイルシートの内容に変更は
無く、生成されるHTMLについても、見たところ列幅に関連する違いは
認めていないということで、いまJavaScriptを見てもらっているのですが
ちょっと追い切れていない状況です。

この現象について、もしも何かおわかりでしたら情報を頂けるでしょうか。
宜しくお願いいたします。

*なお、asyncがfalseでもtrueでも発生しています。確認は数件程度の
サンプルデータで行っています。



Seasar-user メーリングリストの案内