css id vs class,一些想法

时间:2012-11-04 11:16:04

标签: html css

我认为我理解了css文档中id和vs的类。据我所知,html文档中只有一个id元素实例和许多类元素。现在我正在寻找在每个新的mvc3项目上生成的Microsoft驱动的Site.css模板,我发现有.page元素而不是#page?我在这里错过了什么吗?

4 个答案:

答案 0 :(得分:1)

通常只对javascript使用id,并且只使用CSS类。

背后有很多原因:

  • 使用JS选择ID非常快
  • ID具有比类
  • 更高的特异性
  • 这是分割JS和CSS的便捷方式

举个例子:

<a class='btn btn-primary' id='alert' href='#'>Click Me</a>

这是一种典型的用法,其中btnbtn-primary类用于CSS,但alert id将用于JS。

这意味着链接可以重新设置而不会丢失JS链接,并且可以在不更改其样式的情况下更改其行为。

答案 1 :(得分:1)

使用类时,更容易维护好的级联。 Id是将样式链接到文档的一种非常具体的方式。此外,目前您可能只有一个元素,因此使用id似乎是可行的方法,但如果在不久的将来您将切换到两个。

CSS Specifity

答案 2 :(得分:0)

开发人员通常使用#id,如果他们正在寻找将一些javascript应用于该元素,并且ID应该是唯一的,其中.whatever是一个可以多次使用它的类。

正如你所说

Microsoft可能正在使用.page,因为它必须应用于多个内容,因此它根本不使用#page,它并没有真正有所作为,但是就具体情况而言, #id选择器的优先级高于.class

答案 3 :(得分:0)

根本不知道Microsoft驱动的Site.css模板;但坦率地说,我不会从他们那里得到任何关于CSS的建议:他们的浏览器在采用与样式相关的国际标准方面一直是所有主流浏览器中最差的。

给定页面上应该只有一个特定项目的ID;但不止一个仍然几乎肯定会工作...至少造型(尝试使用脚本:p)。

天啊,我刚刚将微软主页放入w3c

  

html验证器:28个错误,581个警告

和w3c CSS验证器

  

我们发现了以下错误(68)

虽然可以说很多CSS错误可能是由非常可接受的黑客产生的,这些黑客旨在解决设计糟糕的浏览器中的问题......主要是微软的!

即便如此,我对这个Microsoft驱动的Site.css模板很感兴趣:你有可能发布链接吗?

正如一个附加说明:无论顺序如何,CSS中的ID始终优先于课程。