• ベストアンサー

Operaでtableが崩れる

ブラウザによって形が崩れてしまうのがいやなので、tableを使って大まかな形を作っています。 今tableの幅を指定して、3つ重ねた状態 <table></table> <table></table> <table></table> ↑というような感じになっているのですが、 operaで見たときだけ、一番上のtableが横に伸びてしまいます(width=100%な状態)。 どうしたら形が崩れないようになるでしょうか? アドバイスをお願いします。

  • HTML
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
noname#76538
noname#76538
回答No.2

Operaだけで問題が起こるのであれば、最初に間違ったtableを組んだ状態でOperaで表示させたのではないですか? その後にキャッシュをクリアしていない為、Operaがそれを覚えたままになっているのではないでしょうか? Operaの「ツール」タブの「個人情報の削除」からキャッシュをクリアしてみて下さい。 それでも直らないなら問題のtableタグを全部削除、または<body></body>の間を全て削除し、 (ビルダーなどを使用しているなら再起動させた後に)tableを作り直して下さい。 大抵、これで直るはずです。 ビルダーで同じ症状が出た事があります。tableでwidthを指定をして作った後に、 width指定を削除してもtableが伸びたままになる事がありました。 html的には何の問題も無いのにです(Operaだけではなかったですけど)。 1の方が仰るように、htmlの状況を全て書いて頂いた方が確実な回答を得られやすいと思います。

mutu560
質問者

お礼

#1のほうにも書きましたが、colspanが間延びさせてしまっていたようです。 アドバイスをありがとうございました。

その他の回答 (1)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

どういうケースで崩れるのか、 再現する最低限のHTMLを補足してください。 「重ねた」という事で質問にあるような連続した状態ではなく、入れ子かと思い 以下のように書いて見ましたが特に変な状態にはなりませんでした。 <table width="400" border><tr><td> <table width="300" border><tr><td> <table width="200" border><tr><td> </td></tr></table> </td></tr></table> </td></tr></table>

mutu560
質問者

お礼

不足した情報でしたのにアドバイスを ありがとうございます。 入れ子じゃなく、正に重ねた状態していました。 なんとか直せたのですが、原因は重ねたところではなく、colspanを使ったところのようなのです。 こんな感じ↓ <table> <tr> <td colspan="3"></td> <td width="100"></td> </tr> <tr> <td width="100"></td> <td width="100"></td> <td width="100"></td> <td width="100"></td> </tr> </table> colspanが、ほかの部分をばらばらにしてしまうようで、colspanに入れていた画像を分割して、colspanを使うのを止めて、解決しました。 正直なところ納得がいってないのですが、なんとか見れる形になりました。 ありがとうございました。

関連するQ&A

  • テーブルの幅の指定・・・

    テーブルの幅が変わらないように 幅を指定するようにするにはどうしたらよいでしょうか? 普通にwidth=100などと打ち込んでいるのですが、 サイズが変化してしまいます。 もうちょっと具体的に言うと、 <table> <tr> <td></td> <td></td> </tr> <tr> <td colspan=2></td> </tr> </table> 上に二つテーブルがあって、 その下に一つのテーブルがある状態です。 この状態で、上の二つのテーブルの右側の方には画像を入れて、 幅と高さを指定したいと思っています。 その下には、文を打ち込む予定です。 この画像のところを変化しないように指定したいのです。 画像が何重にも写らないようにしたいからです。 文をたくさん打ち込むとそれだけテーブルが大きくなりますよね。 そのときに上の二つのテーブルのところの 画像が入っていない左のほうのテーブルの長さを変化させたいのです。 どうすればいいでしょうか? よろしくおねがいします。

    • ベストアンサー
    • HTML
  • テーブルを固定

    □□□ □□□ 上記のように6つのテーブルを作ったとします。 スタイルシートで"<table style="width="200" height="200">のように幅を指定しても 作ったテーブルより小さいサイズの画像を入れただけでも全体が大きく崩れてしまいます。 これをテーブルの幅を幅以下の画像なら("width="200" height="200"で作った場合は199まで)動かないように完全固定したいのですがどのような方法で可能になるのでしょうか?。

    • ベストアンサー
    • HTML
  • operaだとテーブルがなくなります

    operaだテーブルがなくなります IEだと問題なく表示されるのに だれか助けてください style.css    body{background-color:#ffff99;margin:0px; font-size:large; font-family:"HG正楷書体-PRO","HG行書体","HGP行書体",cursive} .cur{font-family:cursive} .ser{font-family:serif} } table{background-color:#ff9933;  width:100%; height:10%    }   .midori{background-color:#999933; width:100%; height:3.3%  }        htmlのほうは <HTML> <HEAD> <TITLE></TITLE> <link href="style.css" rel="stylesheet" type="text/css"> </HEAD> <BODY> <table><tr ><td></td></tr></table> <table class="midori"> <tr ><td></td></tr></table> <table style="height:6.7%"> <tr ><td></td></tr></table> <table style="position:absolute; left: 0px; bottom:8%; width:8%; height:100%; background-color:#993300"> <tr ><td></td></tr></table> <table style="position:absolute; bottom:0; height=8% " class="midori"> <tr ><td></td></tr></table> </BODY> </HTML> こんな感じなのですが どうしてでしょうか

    • ベストアンサー
    • HTML
  • tableの中にtableを作ると、width指定が機能しない

    tableの中にtableを作り、中側にあるテーブルの列ごとにwidthを指定したいのですが、うまくいきません。ソースを書いてみます。 例: <table width=300> <tr><td> <table width=100> <tr><td>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td><tr> </table> </td><td> <table width=100> <tr><td>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</td><tr> </table> </td><td> <table width=100> <tr><td>ccccccccccccccccccccccccccccccccccc</td><tr> </table> </td></tr> </table> width=300のテーブルの中にwidth=100のテーブルが3つできたのはいいのですが、width=100のテーブルの中に100pxを超える文字列を入れると100pxという値を無視してテーブルが横長くなってしまいます。 これを100pxという値に従わせるにはどうしたらいいでしょうか?

    • ベストアンサー
    • HTML
  • テーブル(TD)の幅について。

    <TD WIDTH=100>この幅指定はディスプレイ幅内のテーブル幅なら有効なんですが ディスプレイ幅を超えるテーブル幅になると途端に崩れてしまい 意図しないところで勝手に改行されていたりします。 この問題を回避する為には<TABLE>の方にも幅指定してやらないといけないのでしょうか? それとも回避不能なんでしょうか?よろしくお願いします。

    • ベストアンサー
    • HTML
  • テーブルスクロール firefox opera等

    私のサイトでは、テーブルにスクロールバーを表示している部分があるんですが、 firefoxやoperaなどのブラウザではスクロールバーが非表示になり、テーブル内が縦長に表示されてしまうようです。 firefox、opera、その他のブラウザで表示できるテーブル内のスクロールバーのタグ、教えてくださいっ。 すべてのブラウザに適応したタグがなければ、firefoxで表示したときのタグ、operaで表示したときのタグなどを、分け、 そのブラウザによって、表示するタグを変えるというのは、できませんでしょうか? 教えてください。 ↓現在使用しているタグです <span style="width:100%;height:72;overflow:auto;border:3px solid #eeeeee;">

  • TABLEタグの幅指定

    テーブルの幅を厳密に指定したいのですが、 例えば以下のような1行2列のテーブルがあるとき、 <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0> <TR> <TD WIDTH=100>***</TD> <TD WIDTH=100>***</TD> </TR> </TABLE> このような場合にテーブルタグにWIDTH属性を加えるとすると、 100*2+4*4+1*3=219で、WIDTH=219が正確な値なのでしょうか? よろしくお願いします。

  • テーブルの幅

    tableのwidth指定についての質問です。 同じレイアウトで複数のhtmlファイルを作るのですが、その中のテーブル及びセルの幅をwidthで固定してあるのにも関わらず、セル内のテキストの長さによって各ファイルごとのテーブルのセルの幅が、IEでの表示で変わってしまいます。 <table width="450" cellspacing="0" cellpadding="2" border="1"> <tr> <th bgcolor="#ffcccc" width="150">aaaaaaaaa</th> <th bgcolor="#ffcccc" width="286">\100,000</th> </tr> <tr> <td colspan="2">ここには商品説明が入ります。ああああああああああああああああああああああああああああああああああああ</td> </tr> </table> 上記のaaaaaaaaaの部分がファイルによって長さが違うのですが、それによってセルの幅が変わってしまいます。 IE6でプレビューすると変わりますが、firefoxでは変わりません。 <th>を<td>に変更すると、幅は固定され変わりません。 IEの場合、thでwidth指定が出来ないのでしょうか。 なぜ変わってしまうのでしょうか?どこかに記述の問題があれば教えていただければありがたく思います。

  • テーブルの幅固定について

    テーブルの幅固定を以下のように行っているのですが文字が指定した幅を超えると、 幅を指定してるにも関わらず、文字が改行せずに幅が伸びてしまいます。 自動的に改行になるとばかり思っていました。 <br>での改行は考えていないので、テーブルの幅を絶対的に固定する方法ありますでしょうか? <table width="50" border="0" style="background-color: #cecece"> <tbody> <tr> <td>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td> </tr> </tbody> </table>

    • ベストアンサー
    • HTML
  • テーブルの幅をデフォルトに戻すcssがわかりま

    <html> <head> <title>test</title> <style type="text/css"> table { width: 100%; } </style> </head> <body> <table border=1> <tr><td>No</td><td>table1</td></tr> </table> <table border=1> <tr><td>No</td><td>table2</td></tr> </table> </body> </html> このようなソースで二つ目のテーブルだけ table { width: 100%; } を適用しない方法はありますか? 実際はテーブルが複数あり 基本的には table { width: 100%; } をテーブルに設定したいのですが とあるテーブルのみテーブルの幅をデフォルトのサイズにしたいのです。 table { width: 100%; } で全てのテーブルに適用した後に クラスを使って該当のテーブルのみ デフォルトの値に戻す方法は有りますか? <table border=1 class="デフォルトに戻す"> <tr><td>No</td><td>table2</td></tr> </table> としたいのですが テーブルの幅をデフォルトに戻すcssがわかりません。 2つのテーブルの幅は指定したくありません。

    • ベストアンサー
    • HTML

専門家に質問してみよう