CSS声明 - 元素类型和ID或只是ID?

时间:2012-08-03 14:47:49

标签: html css class

我应该如何使用CSS声明?

这样:

div#main_content {
    width: 900px;
    border: 1px solid #CCC;
    margin: 20px 0 20px 0;
    padding: 40px;
    overflow: hidden;
}

或者这样:

#main_content {
    width: 900px;
    border: 1px solid #CCC;
    margin: 20px 0 20px 0;
    padding: 40px;
    overflow: hidden;
}

在sublime文本2中,sublime linter包建议我在没有div的情况下使用 - 仅使用#main_content,但在某些教程中我发现使用div#main_content更好,因为它更容易解析。 / p>

你有什么建议我应该使用? (我认为在这种情况下,类的结果将是相同的)

3 个答案:

答案 0 :(得分:2)

最好只使用id。页面上应该只有一个元素具有给定的id,因此元素类型是多余的。

错过元素类型的另一个原因是,如果您决定更改HTML(可能会将<div>更改为更加语义的内容,例如<p><section>)CSS选择器仍然会匹配。

答案 1 :(得分:2)

包含具有ID的元素类型的唯一场景是真正有益的(我能想到的)是,如果您要将不同的ID应用于不同页面上的不同元素类型,并希望以不同的方式设置它们。

例如,如果您在主页上创建了<header id="main">,而在其他网页上创建了<section id="main">,那么您肯定希望分别使用header#mainsection#main风格这两个元素。

如果你的ID将在所有页面中应用于相同的元素类型,那么CSS中的元素选择器只会增加CSS的易读性,如果你想知道你正在构造什么类型的元素

答案 2 :(得分:1)

没有太大的区别,ID是最快的,所以使用它们你会很好,使用div #id只是说只影响id,如果它在div内(你可能在某些时候想要这个功能,虽然可能有一个班级,而不是一个id)