![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
質問させて下さい。
大きな四角の枠で囲まれたようなホームページを作っています。
下記のような感じなのですが
----------------------------------------------
<body>
<div id="mainbox">(大きな外枠)
あああああああ
<div id="gazou"> ******** </div>
</div>
</body>
----------------------------------------------
この外枠の下に何行か空白を入れたいんです。
※ホームページを縦にスクロールしたときに、外枠の底がブラウザの一番下とくっつく
のが気に入らないので。
<div id="mainbox"></div>の下に適当なボックスを描いても、なんだか横にいったり
空白のマージンが調整できなかったりなんだかよくわかりません。最悪背景色の画像でも放り込めばよさそうな気もしますが・・・
普通はこういうときはどうするのでしょうか?
No.1ベストアンサー
- 回答日時:
外枠に margin-bottom を設定するだけでいいと思いますけど。
<!DOCTYPE html>
<html lang="ja">
<head>
<style type="text/css">
#mainbox {
width:800px;
margin:auto;
border:solid 1px;
height:1200px;
margin-bottom:150px;
}
</style>
<title></title>
</head>
<body>
<div id="mainbox">
</div>
</body>
</html>
この回答への補足
なぜだかわからないですが、外枠のボックスに
margin-bottom: 100px;
を足しでも、何もかわらないんです・・・。
No.4
- 回答日時:
>どうやら外枠のボックスを絶対位置指定して中央に表示させているからではないか...
後出しでは絶対解決しません!
回答者をばかにするような質問ですな。
お手数をお掛けしすみあせん。ありがとうございます。
書いてある通り回答を待っている間調べたなりの推測なので、後出しだとキレられても少し困りました。
No.3
- 回答日時:
No.2です。
HTMLに間違いがありました。64行目</p>が重複しています。63行目の</p>を除いてください。
No.1さんのmargin-bottomで下に余白ができないのは、「その下に何も内容がない」からです。内容がないときは、ないことを明示しなければならない--ユーザビリティ上---ことの必然です。
もしあなたが他のサイトを見ていたとき、スクロールバーを見てまだ表示されていない部分があると判断したら下までスクロールしてみるでしょう。
contentプロパティで内容を追加すればよい--この場合\Aと改行(HTMLでいう改行コード)を追加していますが、そのままでは
空白類 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
にしたがって無視されますから、white-spaceプロパティでHTMLで言うところの<pre>にしておかなければならないのです。
white-space ( http://www.w3.org/TR/CSS2/text.html#propdef-whit … )
content ( http://www.w3.org/TR/CSS2/generate.html#content )
上記はCSS2.1です。(邦訳がないので)、この二つのプロパティはCSS2.1で変更された部分です。
★ただし、何度も言いますが、誤った方法です。できるということと、それが良い方法かは別問題です。
この回答への補足
大変残念ですが私の知識では回答を理解できている気がしません・・・。
「contentプロパティで内容を追加」とありますが、外枠の<div~>のしたになにかを記述すると、画面で言う左上に表示されてしまうんです。
色々検索してたのですが、どうやら外枠のボックスを絶対位置指定して中央に表示させているからでは
ないかと予想しました。
外枠の下にボックスを記述し、こちらも絶対位置を指定すれば空行はとりあえずできましたが、無理矢理な感じが・・・
調べるのもつかれてきたのでしばらくしたら質問も締め切ろうと思います。
No.2
- 回答日時:
HTMLをまずきちんと身につけたほうが良いです。
HTMLは文書構造を記述するもので、それをどのようにプレゼンテーションするかはスタイルシートに任せます。この文書構造とプレゼンテーションの分離はHTML4.01以降極めて重要なスタンスとなっています。
それさえできていれば、今も将来もどのようにも自由自在にデザインできます。(サンプルにデザイン要素は入っていませんから、どのようにもデザインできます。後から内容を変更するのも楽、検索エンジンも正しく内容を理解してくれます。)
さて、枠の外に余白をとる方法ですが、
・contentプロパティで内容を追加するのが、質問の趣旨に対する率直な方法です。
しかし、サンプル内に書いたように、薦められる方法ではありません。
・本来は一番下になにか書くべきです。
サンプルは二通りの方法を示しています。
[例]HTML4.01strict + CSS2.1 です。
★ソース中のタブは、_に置換してあるので戻してください。
★プロパティやセレクタの書き方は説明しません。自身で調べてください。そのほうが身につく。
★HTML自体もサンプルになるように書いてあります。リンク先でもないのに余分なid--特に文書構造ではないものは書いてはなりません。複雑にしてしまうだけです。
【引用】____________ここから
DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[7.5.4要素のグループ化: DIV要素とSPAN要素 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より
HTML5の新しい要素 ( http://standards.mitsue.co.jp/resources/w3c/TR/h … )を参考にclass名をつけると良いです。将来、<div class="section">を<section>に変更するだけでHTML5になります。
<!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,p{margin:0;line-height:1.5em;}
p{text-indent:1em;}
div.header,div.section,div.footer{
_width:80%;min-width:640px;max-width:900px;
_margin:0 auto;
_padding:0;
}
div.section{
_position:relative;
_border:ridge 4px fuchsia;
_background-color:rgb(222,222,222);
}
div.section div.section{
_border:gray solid 1px;
_margin:0.5em 5px 0.5em 20%;
_width:auto;min-width:0;
}
div.section pre{
_width:90%;margin:0.5em auto;
_padding:0.5em 1em;
_background-color:white;
}
#contentTable{position:absolute;top:0;left:1%;width:18%;}
div.footer h2,div.footer dl{display:none;}
/* ここから質問の回答--いずれか一行--- */
div.footer address{margin-top:4em;}
div.footer:after{content:"\A\A\A";white-space:pre;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<div class="section" id="question">
___<h2> CSSのボックスが縦に並ばない・・・</h2>
___<p>質問させて下さい。</p>
___<p>大きな四角の枠で囲まれたようなホームページを作っています。</p>
___<p>下記のような感じなのですが</p>
___<pre><body>
<div id="mainbox">(大きな外枠)
あああああああ
<div id="gazou"> ******** </div>
</div>
</body></pre>
___<p>この外枠の下に何行か空白を入れたいんです。</p>
___<p>※ホームページを縦にスクロールしたときに、外枠の底がブラウザの一番下とくっつくのが気に入らないので。</p>
___<p><div id="mainbox"></div>の下に適当なボックスを描いても、なんだか横にいったり、空白のマージンが調整できなかったりなんだかよくわかりません。最悪背景色の画像でも放り込めばよさそうな気もしますが・・・</p>
___<p>
____普通はこういうときはどうするのでしょうか? </p>
___</p>
__</div>
__<div class="section" id="answer">
___<h2>本来はfooterに何か書いてmarginをとるべき</h2>
___<p>
____本来はこのサンプルのようにfooter内の要素をマージンをとって配置すべきですが、薦められる方法ではありませんが、contentプロパティを用いて内容を追加する方法もあります。
___</p>
___<p>
____<strong>ユーザーにとってスクロールバーは現在の表示範囲と表示されていない部分を示す重要な目印ですから、ユーザビリティの観点から薦められないのです。</strong>
___</p>
___<pre>/* ここから質問の回答--いずれか一行--- */
div.footer address{margin-top:4em;}/* 最後の要素の上を開ける */
div.footer:after{content:"\A\A\A";white-space:pre;}/* 内容の追加 */</pre>
__</div>
__<div id="contentTable">
___<ul>
____<li><a href="#question">質問</a></li>
____<li><a href="#answer">回答</a></li>
___</ul>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2005-06-10</dd>
___<dt id="LAST-MODIFIED">Last Modified</dt>
___<dd>2005-06-10 12:00:00 (JST)</dd>
__</dl>
__<address>© ORUKA1951 2001 - 2004 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
ヘッダーとフッターだけ背景を...
-
複数のボタンを等間隔に、かつ...
-
min-heightとheightの違いについて
-
3カラムレイアウトで「常に残り...
-
div要素が重なってします
-
ホームページのヘッダー部分の...
-
ヘッダーを左右に二分割する方...
-
[CSS]ヘッダー固定+コンテン...
-
1サイト内にHTML5とXHTMLが混在...
-
スペースを使わず文字位置を揃...
-
1時間30分を簡単に表したいで...
-
SSIを利用してCSSレイアウトを...
-
オシャレな区切り線はありませ...
-
「見出し画像+小見出し」と「見...
-
テーブル内の文字行間を詰めた...
-
<!-- #BeginLibraryItemとは
-
レスポンシブかつ、スマホ、携...
-
RMS レフトナビ問題
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのolやulなどlistにtitleや...
-
HTML属性での「""」 「''」違い
-
<div id="container">の使いか...
-
複数のボタンを等間隔に、かつ...
-
html の divとtable の役割
-
div要素が重なってします
-
min-heightとheightの違いについて
-
ヘッダーとフッターだけ背景を...
-
1時間30分を簡単に表したいで...
-
divを横に並べる方法
-
html5でheaderの中にnav
-
スペースを使わず文字位置を揃...
-
セクションをdivで囲むと見出し...
-
divとpの使いわけ
-
ブログのサイドバーが下にくる
-
3カラムレイアウトで「常に残り...
-
グリッドレイアウトで"auto-fit...
-
iframeを使わずに上下50%ずつに...
-
ヘッダーを左右に二分割する方...
-
画面を縮小するとカラムが落ち...
おすすめ情報