2010-03-17 49 views
2

當我爲我的網站聲明一些基本樣式時,我曾經在body標籤上做過這些。例如CSS:body或html上的基礎樣式?

body { 
    font-size: medium; 
    line-height: 1.3em; 
} 

但我也看到人們在html標籤上做類似的事情。並在兩個。它應該在哪裏完成?應該有一個在另一個?應該都在其中之一嗎?或者它根本就不重要?要麼?

回答

2

我喜歡對html應用基本聲明。大多數時候,我用身體作爲一個容器,就像這樣:

html { 
/* Base styles go here */ 
font: 14px/1.5 Arial, sans-serif; 
background: darkgreen; 
} 

body { 
background: lightgreen; 
padding: 0 20px; 
width: 920px; 
margin: 0 auto; 
} 

觀看演示:http://jsbin.com/atiso3

大多數人傾向於使用更多的DIV就是爲了要實現這一目標的基本行爲。當你知道如何在CSS中使用htmlbody時,這是沒有必要的;)

+0

是啊,我一直用身體和一個div ......但這肯定是更清潔,嘿嘿 – Svish 2010-03-17 15:47:06

2

我會在body標記上添加樣式,因爲它具有更多的語義意義(您不打算對headtitle等)進行樣式設置。

而且我沒有看到很多人直接在html標籤添加樣式了除了reset some default styles ...

+1

實際上,你可以將'title'設置爲在視口內可見。默認情況下,head元素及其後代不顯示,但是可以覆蓋。 'html'是視口的根,而不是'body'。 (當然,任何人都不會在野外使用它。) – janmoesen 2010-03-17 14:56:57

+0

@janmoesen對你感到羞恥 - 我仍然使用CSS在我完全過時的網站上顯示「HEAD」元素的內容! ;) – 2010-03-17 15:03:53

1

對於嚴格的doctype,只有身體是必要的。但是,如果瀏覽器處於怪異模式,那麼您很可能還需要定位表格單元格。

在這兩種情況下,您可能還希望定位表單元素,因爲它們通常會繼承平臺默認值。

1

我要麼設置爲身體本身。我傾向於這樣做或使用基本的div風格,取決於我在做什麼,但把它放在html對象上似乎不直觀。

1

htmlbody的容器,所以後者會繼承前者。混合時要小心:

html, body { font-size: 80%; }會使您的body的字體大小爲80%80%

我總是去html,但古代瀏覽器支持和/或怪癖模式存在問題。

+1

你總是會知道它會導致一個問題?怎麼來的? – marcgg 2010-03-17 14:56:00

+0

在哪些瀏覽器中? – janmoesen 2010-03-17 14:58:54

1

從我個人的經驗來看,將htmlbody都放在某些基本樣式上的唯一情況是,當您在做一些依賴100%寬度或高度的時髦黑客(「粘性」div或其他)時, 。在其他所有情況下,僅在body上聲明基礎樣式完全可以。換句話說,

html, body {height:100%} 

實際上可能是必要的,但

html, body {font-family:Arial} 

肯定不會。畢竟,您需要font-family的所有元素無論如何都是body的子元素,因此在html中指定它也沒有意義。