
スタイルシートでページを作成しています。
上からheader、contents, footerとボックスを配置しているのですが、
contentsの内容が多くなると、下に膨らむのですがこのときにページ最下部にあるfooterに重なってしまいます。
contents内には、さらにボックスが複数ありテキストや画像があります。
ためしにcontents内をすべてテキスト文字にしてたくさん記載をしたところ、
footerには重ならず、footerが自動的に下へ移動しました。
これは何がいけないのでしょうか?
なぜcontents内にボックスを入れると、footerに重なってしまうのでしょうか?
No.1ベストアンサー
- 回答日時:
多分floatを使っている。
>header、contents, footer
header,section,footerですよね。contentsは変?そもそも複数形じゃないし。
⇒HTML5新しい要素( http://standards.mitsue.co.jp/resources/w3c/TR/h … )
にあわせたほうが良かろうかと
<div class="header">
</div>
<div class="section">
<h2>本文見出し</h2>
<p>・・・</p>
<div class="section">
<h3>項見出し</h3>
<p><img src="" width="" height="" alt=""></p>
<p>記事</p>
<div class="article"><!-- header,section,footerをもちうる完結した記事 -->
<div class="header"></div>
<div class="section"></div>
<div class="footer"></div>
</div>
</div>
<div class="nav"><!-- ナビゲーション -->
</div>
<div class="aside"><!-- このsectionと直接関係ない記事 -->
</div>
</div>
<div class="footer">
</div>
header,section,footerは何箇所も登場する可能性があるのでclassのほうが良いかな・・
[HTML5だと]
<header>
</header>
<section>
<h2>本文見出し</h2>
<p>・・・</p>
<section>
<h3>項見出し</h3>
<p><img src="" width="" height="" alt=""></p>
<p>記事</p>
<article>
<header></header>
<section></section>
<footer></footer>
</div>
</section>
<nav>
</nav>
<aside>
</aside>
</section>
<footer>
</footer>
floatを使ってブロックの配置をしないことが原則ですが、画像の場合はfloatさせることもあるでしょうから、その場合にはfloatを終了させるコンテナブロックに対して
:afterまたは:beforeの擬似要素にて
{content:"";
clear:[right|left|both];
display:block;
}
のセットで良いはずです。
★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html )
のDATAでチェック済みHTML4.01 + CSS2.1
★タブは_に置換してあるので戻す。
<!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;}
h1,h2,h3,h4,h5,h6{margin:0;line-height:1.6em;}
p{text-indent:1em;}
body>div.header,
body>div.section,
body>div.footer{
width:90%;min-width:630px;max-width:900px;
margin:0 auto;
padding:5px;
}
body>div.section{position:relative;}
body>div.section>h2,
body>div.section>div.section,
body>div.section>p{
margin: 0 200px;
}
div.section div.nav,
div.section div.aside{
position:absolute;
top:0;
width:200px;
height:100%;
}
div.section div.nav{left:0;}
div.section div.aside{right:0;}
/* ここからが本題 */
/* もしもfloatを使って配置していたら */
div.section img{
float:right;
}
body>div.section:after{
content:"";
display:block;
clear:right;
}
/* わかりやすいように色分け */
div.header{background-color:aqua;}
div.section{background-color:blue}
div.aside{background-color:fuchsia}
div.nav{background-color:gray}
div.footer{background-color:green}
div.section div.section{background-color:lime}
div.div.aside{background-color:maroon}
div.section div.article{background-color:orange;}
div.section div.article div.header{background-color:purple;}
div.section div.article div.section{background-color:silver;}
div.section div.article div.header{background-color:yellow;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
_</div>
_<div class="section">
__<h2>本文見出し</h2>
__<p>・・・</p>
__<div class="section">
___<h3>項見出し</h3>
___<p><img src="./images/01.jpg" width="240" height="180" alt="写真"></p>
___<p>記事</p>
___<div class="article"><!-- header,section,footerをもちうる完結した記事 -->
____<div class="header">HEADER</div>
____<div class="section">SECTION</div>
____<div class="footer">FOOTER</div>
___</div>
__</div>
__<div class="nav"><!-- ナビゲーション -->
___ナビ
__</div>
__<div class="aside"><!-- このsectionと直接関係ない記事 -->
___補足
__</div>
_</div>
_<div class="footer">
__<h2>フッタ</h2>
_</div>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- HTML・CSS htmltとcssのコードで 1 2022/11/26 13:37
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- その他(IT・Webサービス) html cssについて 3 2023/05/13 12:48
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- 英語 提示文の自然な副詞の位置と、位置によるニュアンスの違いについて 4 2022/06/16 13:30
- その他(Microsoft Office) エクセル VBAについて 2 2022/09/21 22:21
- その他(結婚) お時間ある方見ていただけると幸いです。 カタログギフト↓の中だけだとどれがいいですか? (似たような 2 2022/07/03 11:57
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ウェブサイトの作成方法について
-
IE10でホームページがもの凄く...
-
.レスポンシブウェブデザインに...
-
CSSについて教えてください...
-
IEだとリンクされるが他ブラウ...
-
img と p を縦中央に配置したい...
-
HTML5のIE対策について
-
CSSについての質問ですが、左右...
-
html,css初心者です。ヘッダー...
-
html5にて水平線の引き方は?
-
どうんなタイプの動画?なんで...
-
CSSでのブロックリンクと文字列...
-
floatによる複数段の段組でIE6...
-
空のspanタブについて
-
HTMLのJIS規格について
-
CSS でテキストの点滅をするに...
-
デザインについて
-
HTML5をCSSでレイアウトする場合
-
中央寄せが出来ません。
-
ボックス内に並べた幅の不定なl...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
html の divとtable の役割
-
複数のボタンを等間隔に、かつ...
-
ヘッダーとフッターだけ背景を...
-
div要素が重なってします
-
<div id="container">の使いか...
-
1時間30分を簡単に表したいで...
-
グリッドレイアウトで"auto-fit...
-
min-heightとheightの違いについて
-
divとpの使いわけ
-
セクションをdivで囲むと見出し...
-
スペースを使わず文字位置を揃...
-
divの中に外部のHTMLを埋め込む
-
要素間、要素内に隙間が空く
-
body>div{}の意味を知りたい
-
ヘッダーを左右に二分割する方...
-
html5でheaderの中にnav
-
hタグを使わずに小見出し
-
CSSで、contentsがfooterに重な...
おすすめ情報