2015-06-05 23 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也是可以的。 –