2013-02-28 60 views
10

所以我讀了<html><body>是塊級元素,就像<div><p><HTML>和<BODY>:爲什麼沒有新的生產線?

我的理解是塊級元素開始新的一行。

例如aaa<div>b</div>ccc看起來是這樣的:

aaa 
b 
ccc 

那麼,爲什麼不<html><body>兩行添加到您的HTML頁面的頂部?

+0

他們只是定義標籤,他們並沒有真正把內容放在任何地方。 – 2013-02-28 04:41:47

回答

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 2013-02-28 04:40:02

+0

不錯的圖形! (更多人物) – 2013-02-28 04:42:12

+0

真棒回答。謝謝,我想我現在明白了。因此,默認情況下,塊級元素被設置爲100%寬度,這就是爲什麼他們自己推動自己,以及之後的所有事情都下降了嗎?除非你改變寬度? – Lebowski156 2013-02-28 04:43:28

2

認爲它是這樣的:

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

有文字只有一行:

文本

這就像情況下,當你在身體的任何文本:

<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 2013-02-28 08:02:58

相關問題