2012-07-27 19 views
1

是不是习惯使用它的id来设计一个元素,还是应该引用每个引用相应css的元素的样式?不好的css练习直接通过它们的id来设计元素而不是引用css类?

<div id="test"> 
</div> 

对:

<div id="test" class="testClass"> 
</div> 

#test{ 
color:blue; 
} 

.testClass { 
color:blue 
} 
+1

看到这个答案:http://stackoverflow.com/questions/11671153/should-i-aim-to-add-a-class-id-to-everything-or-use-other-selectors/11671266#11671266 – BonyT 2012-07-27 11:00:50

+0

这需要意见和讨论,而不是基于事实的答案。这也意味着一个错误的“css类”概念(没有这样的东西,只有“css id”)。 – 2012-07-27 11:01:18

+0

没有“Css类”这样的东西? - MS可能会不同意你在那里:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.cssclass(v=vs.71).aspx – BonyT 2012-07-27 11:03:00

回答

1

这不是一个坏的或好的做法。 id选择器的用途与class不同。

如果您打算只设计这一个元素,而不是在其他地方重新使用样式 - id是您的选择。如果您需要很多类似的div -s具有相同的样式 - 请使用class

1

的ID是基本相同的事,作为一个类,ID是稍快,而应仅被一个元件上使用的,而类可以用于许多。

0

如果你想让多个元素具有蓝色的颜色,那么你需要使用一个类,否则一个id很好。

0

ID的号码是唯一的。应该只有一个元素在您的页面上具有该ID。在造型方面,我不认为这样做是不好的做法,但ID在特异性方面取得胜利。基本上,选择器越具体,在涉及到相互矛盾的样式时就会越偏好,所以应用于ID的任何样式都会覆盖其他样式。

p has a specificity of 1 (1 HTML selector) 
div p has a specificity of 2 (2 HTML selectors; 1+1) 
.tree has a specificity of 10 (1 class selector) 
div p.tree has a specificity of 12 (2 HTML selectors and a class selector; 1+1+10) 
#baobab has a specificity of 100 (1 id selector) 
body #content .alternative p has a specificity of 112 (HTML selector, id selector, class selector, HTML selector; 1+100+10+1) 
1

ID VS类

#id

的ID必须在文档中唯一的,并且经常被用于检索使用的document.getElementById的元素。在某些文档中(尤其是HTML,XUL和SVG),元素的id可以被指定为元素的属性,如下所示:。

但是,如果不在DOCTYPE中正确指定id属性的类型,则无法在自定义XML文档中使用此属性。

id的其他常见用法包括在使用CSS对文档进行样式化时使用元素的ID作为选择器。

请注意,ID区分大小写,但不应创建仅在大写区分方面不同的ID(请参阅类和ID名称中的区分大小写)。

.class

分配一个类名称或一组类名的给一个元素。您可以将相同的类名称或名称分配给任意数量的元素。如果您指定多个类名称,则它们必须用空格字符分隔。

元素的类的名字有两个关键角色:

作为一个样式表选择器,用于当作者想要的样式信息分配到一组元素。 浏览器的一般用法。 该类可用于使用CSS来设置SVG内容的样式。

0

这不是一个坏习惯,但它取决于你的使用。

如果您为页面中的每个元素设置了一些规则,那么很快就无法理解发生了什么,您的css会变成一个非常长的文件。

定义一个类允许多个元素使用相同的一组规则,所以你应该设计你的页面来允许这样的行为。

通常情况下,你应该混合策略,你可以,例如,风格与id页面的一些“重要”元素,如标题,页脚,正文等,而其他作品或组件应该使用类对齐。

0

我不这么认为,如果你在风格中使用ID或Class,它会产生很大的差异。类选择器用于指定一组元素的样式。与id选择器不同,类选择器通常用于多个元素。

更多的参考,你可以看到这个链接

http://css-tricks.com/the-difference-between-id-and-class/

在JavaScript中,ID起着重要的作用。如果您使用ID来搜索任何DOM元素,那么随着JavaScript Parser在相应页面上返回具有该ID的第一个元素的值,搜索将会更快。而如果你使用类然后JS搜索整个页面,并收集所有元素与该类。由于这个搜索变得有点慢。

相关问题