1

css ではhtml要素はルート要素と言われ、この記事
で読んでいるように、その幅と高さはブラウザー ウィンドウ/フレームによって管理されます。

それで、それにマージンを適用することは意味がありますか?

それがルート要素である場合、より高いレベルの要素に含まれるべきではないため、そうではないと思います。

ただし、すべてのブラウザでhtml要素にマージンを追加できますが、説明はありますか?

4

3 に答える 3

3

phrogz.net の記事は単純に間違っています。それは実際にはまったく機能しません。html 要素はブロック レベルの要素であり、他のブロック レベルの要素とほとんど同じようにスタイルを設定できます。

あなたのページは、点 (0, 0) を原点とする (論理的に) 無限次元のキャンバスに描かれています。ブラウザーには、キャンバスの領域を表示するビューポートがあります。左上隅が (0, 0) で、ビューポートの高さと幅に等しい、初期包含ブロックと呼ばれる長方形のブロックが存在します。ルート要素の位置と寸法は、他のブロック要素の位置と寸法をそれを含む blockに対して相対的に指定できるのと同じように、最初の包含ブロックに対して相対的に指定できます。


余談ですが、CSS は HTML だけのものではありません。任意のソースの任意の名前空間で作成された DOM で動作します。特に、XML から作成された DOM で動作します。したがって、ルート要素は必ずしも要素ではありません<html>

于 2013-08-11T00:24:04.163 に答える
0

html必要に応じて要素にプロパティを設定できますが、それは一般的ではありません。通常、 にプロパティを設定する方が簡単bodyです。

marginに設定することに非論理的なことは何もありませんhtml。マージンは要素のボックスの外側にあり、他の要素のボックスの内側に表示する必要はありません。

于 2013-08-10T12:54:41.420 に答える
0

<HTML>要素にマージンを追加しても意味がありません。<body>およびその中にある要素にのみマージンを追加する必要があります。仕様についてはhttp://www.w3.org/TR/html401/struct/global.html#h-7.3も確認してください

于 2013-08-10T08:43:35.443 に答える