10

だから私はそれを読み、<html>とは と のように<body>ブロックレベルの要素です。<div><p>

ブロック レベル要素が新しい行を開始することを理解しています。

たとえば、aaa<div>b</div>ccc次のようになります。

aaa
b
ccc

では、 html ページの先頭に 2 行追加し<html>てみませんか?<body>

4

4 に答える 4

15

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

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

何が起こっているかをグラフィカルに表現すると、次のようになります。 ここに画像の説明を入力

このマークアップを考えると:

<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>
于 2013-02-28T04:30:15.763 に答える
2

次のように考えてください。

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

テキストは 1 行だけです。

文章

これは、本文にテキストがある場合とまったく同じです。

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

テキストが子要素にある場合、改行は導入されません。

于 2013-02-28T04:35:16.023 に答える
0

ページを定義するブロック要素です。ブラウザーは、表示方法を制御します。<body>改行を追加して表示するひどいブラウザが見つかるかもしれません(可能性があります)。ただし、主な焦点は、<body>および<html>タグを、すべてを画面に表示するタグと見なすことです。また、タグを使用してブラウザ画面に完全に合わせることができることも付け加えたいと思います

body {padding:0;margin:0;}

お役に立てれば。

于 2013-02-28T04:38:28.943 に答える
0

ブロック レベル要素は、デフォルトで (つまり、これを変更するために CSS が使用されていない場合)、前後の改行を意味します。空行を意味するものではありません。

したがって、 がある場合<div>foo</div>、「foo」は新しい行の先頭に表示され、行、つまり、それ以降のテキストは次の行になります。ただし、これは空行を作成するという意味ではありません。がある場合<div>foo</div><div>bar</div>、「foo」と「bar」は連続した行に表示され、その間に空行はありません。

要素自体htmlは可視コンテンツを生成しません。bodyその中の要素だけが表示されます。また、bodyコンテンツはページの先頭から始まります。これは、新しい行から始まると見なされます。<body>タグの有無は問いません。body最初の行から始まる要素が常に存在します。

于 2013-02-28T05:59:05.737 に答える