

はじめて投稿します。
下のHTMLを表示したとき、menuの部分が狭くなった上に画面自体のスクロールバーが出て横に広がってしまいます。
赤色のテーブルをウィンドウいっぱいに広げた状態で、オレンジ色のテーブルを囲むDIVタグを赤色のテーブルの80%にしたいのです。
オレンジ色テーブルのwidthの80%になっているとか?
でも、オレンジ色のテーブルのwidthがウィンドウに収まるような値なら、意図する表示になるのですが・・・。
どう直したらいいのでしょうか。
<html>
<script>
function hoge(){
document.getElementById("s1").innerText = "t1=" + document.getElementById("t1").offsetWidth + "*" + document.getElementById("t1").offsetHeight +
",d1=" + document.getElementById("d1").offsetWidth + "*" + document.getElementById("d1").offsetHeight +
",t2=" + document.getElementById("t2").offsetWidth + "*" + document.getElementById("t2").offsetHeight +
",d2=" + document.getElementById("d2").offsetWidth + "*" + document.getElementById("d2").offsetHeight +
",t3=" + document.getElementById("t3").offsetWidth + "*" + document.getElementById("t3").offsetHeight;
}
</script>
<body onload="hoge()">
<span id="s1"></span>
<table width="100%" height="95%" border="1" style="background-color:red;" id="t1">
<tr>
<td valign="top" width="200px">menu</td>
<td valign="top">
<div style="background-color:yellow" id="d1">
<table border="1" style="background-color:blue" width="90%" height="100%" id="t2">
<tr><td>hoge1</td></tr>
<tr><td>hoge2</td></tr>
<tr>
<td>
<div style="background-color:pink;overflow:auto;height:80%;width:80%" id="d2">
<table id="t3" width="3250" height="500" style="background-color:orange">
<tr>
<td>hoge3</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</body>
</html>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こういうことでしょうか?
<html>
<script>
function hoge(){
document.getElementById("s1").innerText = "t1=" + document.getElementById("t1").offsetWidth + "*" + document.getElementById("t1").offsetHeight +
",d1=" + document.getElementById("d1").offsetWidth + "*" + document.getElementById("d1").offsetHeight +
",t2=" + document.getElementById("t2").offsetWidth + "*" + document.getElementById("t2").offsetHeight +
",d2=" + document.getElementById("d2").offsetWidth + "*" + document.getElementById("d2").offsetHeight +
",t3=" + document.getElementById("t3").offsetWidth + "*" + document.getElementById("t3").offsetHeight;
}
</script>
<body onload="hoge()">
<span id="s1"></span>
<table width="100%" height="95%" border="1" style="background-color:red;" id="t1">
<tr>
<td valign="top" width="200px">menu</td>
<td valign="top">
<div style="background-color:yellow" id="d1">
<table border="1" style="background-color:blue" width="100%" height="100%" id="t2">
<tr><td>hoge1</td></tr>
<tr><td>hoge2</td></tr>
<tr>
<td>
<div style="background-color:pink;overflow:auto;height:80%;width:100%" id="d2">
<table id="t3" width="100%" height="500" style="background-color:orange">
<tr>
<td>hoge3</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</body>
</html>
ご回答有難うございます。
オレンジ色のテーブルは、100%ではなく、縮小されないように"3250px"と値指定にしたいのです。その時に、画面そのものにスクロールバーが出てしまうので悩んでいました。
相変わらず苦戦してますがDivタグとスタイルシートで対応しようと思います。
また何かありましたらお願いします。
No.1
- 回答日時:
そもそもデザインにテーブルを使うからそうなるのでは?
テーブルは内容によって伸縮することが期待されています。
【引用】____________ここから
非視覚系メディアでのレンダリングに際して問題を起こすことがあるため、単に文書内容を整形する目的だけで表を用いるべきでない。 さらに、見た目のために表が用いられると、その表が大きなディスプレイのあるシステムで作られた場合、表を見るために水平スクロールを強いられることがある。 こうした問題を最小限に押さえるため、著者は文書の整形には表ではなくスタイルシートを用いるべきである。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Tables in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
内容の無い要素<span id="s1"></span>とか、ソース自体に問題がありすぎる。
この回答への補足
ご回答ありがとうございます。
サンプルで作っただけのHTMLなので問題がありすぎるといわれるのはつらいところですね。ちなみに<span id="s1"></span>は、デバッグ用です。各々のwidthの変化を調べるためにJavaScriptでAlertではなく表示させるためです。
オレンジ色のテーブルは表形式で使用するので外せないので、他でテーブルをやめればこうはならないということなんでしょうか?
画面全体の幅がおかしくならないようにするにはどうしたらいいのか教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
table内で画像と文字をセンター...
-
表の中でのフォーム
-
HTMLの行と行の間隔のあけ方
-
WebにてExcelを生成してダウン...
-
cssのfont-sizeがFirefoxで効か...
-
Excelの列や行の幅を表示...
-
CSSのtransform: translate(-50...
-
ワードで「 」(カギかっこ)の...
-
エクセルでサイズに合ったもの...
-
PDFへてのテキストボックスにて...
-
エクセル 画面表示拡大率によ...
-
ノーマルヤリスとGRヤリス
-
ホームページビルダーで表の列...
-
バーコードのサイズは拡大縮小...
-
htmlでテーブル内にテキストボ...
-
excel初心者です。 セルの色変...
-
HTMLでブラウザを終了させる方法
-
CSSでh1とその下の文字との行間...
-
<h1>タグの後の行間を詰めたい。
-
Excelの列の幅(ピクセル)につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
table内で画像と文字をセンター...
-
テーブルで3セル作った行の下に...
-
どんなにやってもできないんです。
-
<td> 内のテーブルを上寄せにす...
-
テーブル全体の枠線の色を変え...
-
縦書きホームページの段組表示
-
助けてください><IE上で1pxの...
-
どうやったらこの画像を一番下...
-
aaa!cafeにて
-
HTMLでテーブルを縦に並べたい!
-
テーブルの中のグラデーション...
-
Excelで可視部分だけをWeb形式...
-
WebにてExcelを生成してダウン...
-
テーブルリンクで別ウインドウ...
-
表の中でのフォーム
-
表の中に表
-
【HTML】 イメージの貼り付けと...
-
CSS line-height が効かない
-
Jimdoで表組のなかの画像をポッ...
-
Divの幅指定を無視して子テーブ...
おすすめ情報