文章での質問で恐縮ですが、
html例に記載のような形で、レイアウトを作っています。
ヘッダーとフッター、左右のBOXとベタな構成かと思ってますが、
右ボックス(div right-box)内のテーブルの行が増えた際(運用上、可変で増えます)に、
tableがdiv構成(wrap-1,wrap-2,right-box,footer)からはみ出して、bodyの領域に出てしまいます。
スタイルシートでは左右のボックスをfloat left、float rightしていて、
テーブルの行が可変なので、left-box以外にはheightは指定していないです。
※left-boxのheight指定は100%
heightを指定しなければ、基本的に行追加に合わせて、可変で動くような気がしているのですが、
どうもうまくいかないです。
left-boxにheightを指定しているのは、left-box内に定義している要素があり、
heightの指定がない場合に、その要素の高さになってしまうので、
right-boxと同じ高さになるように、100%を指定しています。
分かりにくい質問で申し訳ないですが、
right-boxのheightをtableの行追加に合わせて可変にする方法はないでしょうか?
本来、heightなしで可変になるのであれば、
可変にならない原因の推測をお願いします。
---ここからhtml例---
<html>
<head>
</head>
<body>
<div id="wrap-1">
<div id="header">;
</div>
<div class="wrap-2">
<div id="left-box">
</div>
<div id="right-box">
<table id="table">
<tr>
<td><textarea></textarea></td>
</tr>
<tr>
<td><textarea></textarea></td>
</tr>
<tr>
<td><textarea></textarea></td>
</tr>
<tr>
<td><textarea></textarea></td>
</tr>
<tr>
<td><textarea></textarea></td>
</tr>
<tr>
<td><textarea></textarea></td>
</tr>
</table>
</div>
</div>
<div class="footer clear"> </body>
</div>
</div>
</body>
</html>
No.1ベストアンサー
- 回答日時:
floatを使わない。
floatを使うと、その要素は他から独立してしまいます。そもそもHTMLおかしいし・・・
textareaがあるということは、formですか?table使う必要がありますか?
left-boxとかright-boxとか、端末によって下に回したりとかしたら名前と整合が取れなくなる。
所詮、メインはtableですからその後に記述したので良い。
スタイルシートを利用できない端末や、検索エンジンにはこの情報はtableの後でよいはずです。floatを使うと文書の順番も変える必要が出てくる。
[サンプル]HTML4.01strict+CSS2.1
★The W3C Markup Validation Service( http://validator.w3.org/#validate_by_input )
★W3C CSS 検証サービス( http://jigsaw.w3.org/css-validator/#validate_by_ … )
で検証済み!!のウェブ標準です。
※タブは_に置換してある。★必ず戻すこと★
1) tableはstaticのままですから、それを含むsection(本文)はあわせて伸縮します。
2) 本文セクションのナビの高さはsectionの高さに合わせて伸縮します。
section{position:relative} + div.section div.nav{position:absolute;}なので
3) 将来navを上にしようが、左にしようが下にしようが・・自在にデザインできます。
4) 分かりやすいように背景は黄色にしてあります。
5) HTML5にするときは、そのままclass名を要素名に
<div class="header"></div>→<header></header>
class名と使い道はHTML5に合わせてある。section,nav,footerも
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
html,body{margin:0;padding:0;}
div.header,div.section,div.footer{width:80%;margin:0 auto;min-width:640px;max-width:800px;}
/* ここから */
div.section{
position:relative;min-width:0;
min-height:100px;/* section navに最低限必要な高さ */
}
div.section h2,
div.section table[summary="form"]{
margin-left:200px;/* 左をあける */
width:auto;
}
div.section div.nav{
position:absolute;
top:0;
width:200px;
background-color:yellow;
height:100%;
}
div.section div.nav h3{margin-top:10px;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<h2>本文</h2>
__<form action="./">
___<table summary="form">
____<tbody>
_____<tr>
______<th abbr="name">お名前</th>
______<td><input type="text" name="name" size="20" value=""></td>
_____</tr>
_____<tr>
______<th abbr="message">メッセージ</th>
______<td><textarea rows="10" cols="40" name="m1"></textarea></td>
_____</tr>
_____<!-- 自由に加減してください。 -->
_____<tr>
______<th abbr="message">メッセージ</th>
______<td><textarea rows="10" cols="40" name="m1"></textarea></td>
_____</tr>
_____<tr>
______<th abbr="message">メッセージ</th>
______<td><textarea rows="10" cols="40" name="m1"></textarea></td>
_____</tr>
____</tbody>
___</table>
__</form>
__<div class="nav">
___<h3>その他の情報</h3>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2012-08-10</dd>
___<dt id="LAST-MODIFIED">Last Modified</dt>
___<dd>2012-08-10 12:00:00 (JST)</dd>
__</dl>
__<address>© ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html でのテキスト結合について
-
商品詳細を横並びに表示する方法
-
tableタグとformタグの組み合わせ
-
テーブルの枠線に色が付かない
-
divで囲んだ文字が消える
-
Tableタグで作成した表の縮小
-
td width="180" と固定してるの...
-
td要素内のdiv要素をセンタリン...
-
<img>タグにCSSのclass設定可能?
-
太字にするやり方
-
Firefoxを使ってるのですがズー...
-
商品一覧をtableタグで表示する
-
table タグで3列の表を作ると...
-
style=displayでの表示/非表示...
-
formのinputなどの幅100%指定
-
<TD div id="new">←こういうの...
-
テーブルの一部分のセルだけに...
-
リンクをクリック出来ない。
-
Tableタグ内のspan styleが適応...
-
ブラウザ上でのタブ・シフトタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html でのテキスト結合について
-
tableタグとformタグの組み合わせ
-
テーブルの一部分のセルだけに...
-
同じクラス名はつけないほうが...
-
テーブル内のテーブルの高さを...
-
XHTMLに関する質問 順序が逆に...
-
Tableタグ内のspan styleが適応...
-
Tableタグで作成した表の縮小
-
ブラウザによってテーブルのセ...
-
cssで、テーブルのtdの中の文字...
-
td要素内のdiv要素をセンタリン...
-
vbscriptで時計を作りたい
-
formのinputなどの幅100%指定
-
Firefoxを使ってるのですがズー...
-
テーブルの枠線に色が付かない
-
divで囲んだ文字が消える
-
TDタグ内での均等割付の仕方
-
表とリスト(ulとtable)の違い...
-
firefoxで「height: 100%;」と...
-
<img>タグにCSSのclass設定可能?
おすすめ情報