アプリ版:「スタンプのみでお礼する」機能のリリースについて

まず、大体↓な感じの表を作りました(ファイル1)。

<table width="580">
<th width="60">【A列】</th><th width="320">【B列】</th><th width="200">【C列】</th>
<tr><td>D</td><td>E</td><td>F</td></tr>
<tr><td>G</td><td>H</td><td>I</td></tr>
     ・
     ・
     ・
</table>

このHTMLファイルをコピーしてファイル2を作り、
セル内の文字や数値のみ修正し、
随時ブラウザを更新して確認していると、
【C列】の列幅(200)が広くなったり狭くなったりする現象が起き
(その分【B列】も変化し、全体的には580のままです)、
結果的に2つのファイルは【C列】の列幅が違います。

都合上、どちらのファイルも【C列】の列幅は同じにしたいのですが、
何か良い方法はありますでしょうか。

ちなみに、セル内の文字は【B列】も【C列】もオーバー分が折り返されています。
【A列】のみオーバーしないようにしています。

ご回答よろしくお願いします。

A 回答 (4件)

#3に賛成



tableに580をふったら、3列あれば、2列にしか
幅を設定しない。もしくは3列に幅を設定し
テーブルには幅を設定しないのが正しいやりかた
でしょう。矛盾した数値を設定すれば、表示が
ずれるのは仕方ないこと。

あとセルの幅は、colgroupを使うとより確定
しやすいようです
<table>
<colgroup width="60">
<colgroup width="320">
<colgroup width="200">
<tr><th>【A列】</th><th>【B列】</th><th >【C列】</th></tr>
・・・</table>
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
勉強不足ですみません・・・
colgroupすごいです。このやり方で解決しました。
皆様ありがとうございました。

お礼日時:2005/10/24 21:59

おそらく、ですけれども、borderとspacingの記述がなく、その解釈が時々で異なるからではないか、と思います。



60px、320px、200pxで確かに合計は580pxになりますが、cellspacingとborder分を加えると、
1+1+1+60+1+1+1+320+1+1+1+200+1+1+1
になり、合計で604pxになってしまいます。
ところが、全体で580pxと指定されているため、それを超えた分はブラウザ側が勝手に、セルの幅を狭めることで対応しているのだと思います。
どこのセルを狭めることで対応するかは、完全にブラウザ側のその時々の解釈によりますから、更新したときに変わって見えるのも仕方がないことだと思います。

対応としては、border・cellspacing・ついでにcellpaddingも0pxで指定するというのはどうでしょうか?
少なくともブラウザの解釈の余地がなくなるわけですから、同じものができますし、違うブラウザだと違ってみえる、ということもなくなると思います。
cellpaddingなどは、ブラウザによってセル幅に含めるかどうかの解釈が違うそうですから。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
確かに580は矛盾してますね。もっと勉強せねばと思いました(汗

お礼日時:2005/10/24 21:57

多分書き忘れているだけかと思いますが...



<table width="580">
<th width="60">【A列】</th><th width="320">【B列】</th><th width="200">【C列】</th>

2行めが <tr>~</tr> で括られていないですよね。
こちらの環境ではセル幅が変動する症状が確認出来なかったので何とも言えませんが、
もし実ソースで<tr>~</tr>を忘れていたら入れてみて下さい。
また、th ではなく td に置き換えた場合はどうなるか検証してみて下さい。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
すみません。2行目は勘違いでした。確かに<tr></tr>が必要ですね。
<tr></tr>を付けて、pxを付けて、さらに全行全セルにwidthを設定したところ、【C列】の幅の差はほんのわずかになりました。
でも完全に同じにはなりませんでした。
thをtdに置き換えても変化は見られませんでした。
さらに良い方法をご存知の方がいましたらご回答お願いします。

お礼日時:2005/10/23 18:47

<table width="580">、<th width="60">、<th width="200">とありますが


数値の後にpxをつけてはどうでしょうか?

ex) <th width="580px">

参考URL:http://www.tohoho-web.com/css/reference.htm#width
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
pxを付けて、さらに全行全セルにwidthを設定したところ、【C列】の幅の差はほんのわずかになりました。
でも完全に同じにはなりませんでした。
さらに良い方法をご存知の方がいましたらご回答お願いします。

お礼日時:2005/10/23 18:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!