很多時候,我看到這樣的事情:是不是改變了HTML/CSS標準的正文?
<body>
<div class="container">
</div>
</body>
爲什麼不只是做:
<body class="container">
</body>
很多時候,我看到這樣的事情:是不是改變了HTML/CSS標準的正文?
<body>
<div class="container">
</div>
</body>
爲什麼不只是做:
<body class="container">
</body>
你完全可以自由地做任何操作:
class
或id
屬性的body
元素;body
元素,有或沒有class
或id
屬性;或html
元件,雖然沒有的或class
屬性id
並用some important caveats。這些都是CSS和HTML的完全合法使用。
爲什麼<div id="container"/>
?多年來,許多CSS技術使用任意容器元素來簡化概念,以避免某些跨瀏覽器不一致或者因爲它們太複雜而無法實現。一些更爲微妙的原因包括:在較舊的瀏覽器中,不能直接將CSS應用於html
元素,並且這些元素有(且有)某些不常見或受限的屬性 - 通常用於obvious reasons。 (因爲這個原因,它們是sometimes described as being "magic")。
這些都是爲了創造一種幾乎可以實現任何中等複雜佈局的情況,從一開始就用乾淨清潔的容器元件開始,這是不可避免的。雖然這種做法開始作爲一種手段來結束它很快成爲風景的一部分,現在很多開發人員不會考慮增加額外的標記。
沒有,沒有什麼東西是說你不能在一個類補充人體。
將類添加到身體中實際上在各種CMS中非常常見,並且非常適合主題化或設計特定頁面。
從你的例子看,如果你只是想用身體作爲容器,爲什麼還要打擾班級呢?應該只有一個body元素,所以只需在選擇器中調用它。
Walter,如果您需要將一個稍微不同的樣式子集應用於具有自定義身體標記的頁面,它可能是有意義的。
使用包裝div通常是爲了一些表象的原因,使語義上沒有意義;如果您的項目不需要它,請不要使用它。有時候,只有使用body標籤來包含頁面對於某些佈局來說太不靈活了,而喬丹說一些舊的瀏覽器不能將CSS應用到根元素。
兩者都是完全有效的HTML。那裏沒有標準。但是,通常情況下,如果您的站點正在從CMS中吐出,CMS通常不允許觸摸BODY標籤(大多數CMS從代碼角度來看都是如此) – 2011-03-14 21:57:55