2015-06-05 50 views
1

我有4個不同的網頁(網頁A,B,C,d)和CSS代碼CSS選擇器應用到HTML頁面主體元素

body{ 
    margin-top:50px; 
} 

讓說如果我想網頁B有不同的保證金(保證金-top:20px;)那麼我如何將它放在css文件中。

像是可能像下面的東西會很酷。

@pagename.body{ 
    margin-top:20px; 
} 
+2

給每個頁面的正文一個id/class? – putvande

+0

不能,它在我的標題..我可以把它從我的標題大聲笑,但只是試圖看看是否有辦法 –

回答

3

爲了實現這一目標,將以下添加到您的HTML:

<body id="pagename"> 

,並相應修改CSS:

body#pagename{ 
    margin-top:20px; 
} 

如果相同的造型適用於許多頁面,你可以使用代替id

HTML

<body class="pagename"> 

CSS

body.pagename{ 
    margin-top:20px; 
} 

注意,在CSS選擇器中使用HTML標籤body的是可選的:你可以使用的只是#pagename代替body#pagename,或.pagename代替body.pagename

此外,以下是body頁面元素,它提供了最緊湊的造型語法(有關你的CSS樣本)的直接造型的樣本:

<body style="margin-top:20px;"> 

希望這有助於。最好的問候,

+0

是的,我知道我可以這樣做。唯一的問題是,我的身體在我的頭文件,而不是單個文件.. –

+0

坦率地說,我不太明白你的意思是「身體在我的頭文件,而不是單個文件」。我用另一個選項擴展了我的答案。希望它可以幫助。此致, –

+0

抱歉,我的標記位於我的頭文件中。我的頭文件是在我的所有頁面上調用的文件。它有一個導航欄,這就是爲什麼它在頭文件 –

0

HTML:

<body class="myBodyClass"> 

CSS:

.myBodyClass { margin-top: 20px; } 

我不會用body.myBodyClass,因爲這將是八九不離十 「overqualifying」,只是選擇一些明智命名的類,即不將其命名爲「extraMargin」,而是將其命名爲「certainPageType」(無論頁面的類型如何),以防將來的樣式不僅僅是一個額外的邊距。

+0

Ups剛剛看到上面的答案,但這是不正確的。所以'body .pagename'不會起作用。而且由於每頁只有一個身體標籤,你也可以使用ID,但我會堅持在這裏的一個類。 –

+0

你爲什麼要堅持班級ID? – putvande

+0

主要是一個約定。我(幾乎)總是使用classNames。 classNames的優點是它們可以重用,以防你實際上喜歡'.extraMargin'之類的東西,並且希望將該特定樣式應用於另一個標籤。當我必須通過JS訪問它們時,我主要使用ID,當然如果元素是唯一的。在這種情況下,使用ID也是可以的。 –