2013-02-28 3 views
10

だから、<html><body>はブロックレベルの要素で、<div><p>のようなものです。<HTML>および<BODY>:なぜ新しい行がありませんか?

ブロックレベルの要素が新しい行を開始することを理解します。たとえばaaa<div>b</div>cccについては

は次のようになります。だから、

aaa 
b 
ccc 

、なぜ<html><body>は、HTMLページの最上部に2つの行を追加しませんか?

+0

タグを定義するだけで、どこにでもコンテンツを置くことはできません。 –

答えて

15

ブロックレベルの要素は「新しい行を始める」ことはありません...コンテナ要素またはディスプレイの側面に当たるまで無期限に拡大します(width:100%)。他のコンテンツをそれらの下に「押し込む」、またはその直前のインラインコンテンツの下にドロップするという効果があります。また、ブロックレベルの要素は兄弟レベルの要素だけを「プッシュダウン」することを意味します。

<html>および<body>要素には兄弟はなく、子のみが存在するため、何も置き換える必要はありません。ここで

は何が起こっているかのグラフィカルな表現です:このマークアップを考えると enter image description here

:それの

<html> 
<head></head> 
<body> 
    <div>&nbsp;</div> 
    <div>&nbsp;</div> 
    <div style='width:45%; float:left;'> 
    <div>&nbsp;</div> 
    </div> 
    <div style='width:45%; float:left;'>&nbsp;</div> 
</div> 
</body> 
</html> 
+3

+1のグラフィック表現! :) – SuperSaiyan

+0

すてきなグラフィック! (複数キャラあわせ) –

+0

恐ろしい答えです。ありがとう、私は今理解していると思う。だから、デフォルトではブロックレベルの要素は100%の幅に設定されています。あなたが幅を変えない限り? – Lebowski156

2

と思いますこのよう:

<div> 
    <div>Text</div> 
</div> 

テキストの1行だけあります:

テキスト

あなたは、体内の任意のテキストを持っているとき、これは念のようなものです:テキストは子要素である場合には、新しい行が

<html> 
    <body>Text</body> 
</html> 

導入されていません。

0

ページを定義するブロック要素です。ブラウザは、ブラウザの表示方法を制御します。新しい行を追加することによって<body>を表示する恐ろしいブラウザが見つかるかもしれません(可能です)。しかし、あなたの主な焦点は、<body><html>タグを画面上のすべてを表示するタグと見なすことです。 また、私は完全にこのことができます

body {padding:0;margin:0;} 

希望を使用してブラウザの画面に合わせてタグを使用できることを追加したいと思います。

0

デフォルトでブロックレベルの要素(CSSを使用しない場合)は、改行の前後に改行を意味します。彼らは空の行を暗示しません。

<div>foo</div>があるときは、新しい行の先頭に「foo」と表示されます。また、行、つまり次の行にある後のテキストも表示されます。しかし、これは空の行を作ることを意味するものではありません。 <div>foo</div><div>bar</div>をお持ちの場合は、 "foo"と "bar"が連続した行に表示され、その間に空白行はありません。

html要素は、可視コンテンツを生成しません。その中にbody要素のみが表示されます。また、bodyのコンテンツは、ページの開始時に始まります。このページは、新しい行から開始されます。 <body>タグがあるかどうかは重要ではありません。常に最初の行から始まるbody要素があります。

+0

"html要素自体は可視コンテンツを生成せず、その内部のbody要素のみが表示されます。 http://jsfiddle.net/NxSm6/を参照してください。 – Alohci

関連する問題