首页 > Don't use IDs in selectors??

Don't use IDs in selectors??

使用CSS Lint检测自己的css文件时,下面报出了:Don't use IDs in selectors

不明白这个建议是为什么?在css不建议使用ID选择器??

然后这篇文章中找到了关于css Lint的简介,里面有这段:

不在选择符中使用ID标识符 (Don’t use IDs in selectors)
主要考虑到样式重用性以及与页面的耦合性。

在知乎上也有人提到这个来回答css优化的问题但是对于这个建议的提出还是不明白,能详细解释下什么是页面耦合性,样式重用性? 页面耦合性和ID选择器之间的关系??

谢谢:)


新手个人见解
因为没学过Lint 但是学Bootstrap的时候 有看到过 我猜它的作用是 统一编辑bootstarp的CSS源码 从整体上定制

我觉问题的根 在CLASS 和 ID 的区别上

1.class的可以复用很多场合,减少重复定义,框架上的CSS都用CLASS 设置的标签上
2.ID的优先级很高 如果希望自己覆盖原有的CSS样式 就要重新定义一个新的ID ,自己重写一遍CSS样式,所以太依赖原有样式,耦合度高吧


1,id在一个文档中只能有一个,也就是说一旦有一个标签的id设置了,其他人如果觉得合适想复用这个id的样式是不可以的。
2,class的作用是可以让你将很多公用的样式抽象在一个类里面,比如你自定义一类属性,美化buttoninput这些标签的默认样式,你只要定义一些.btn,.input类然后给这些标签使用,这些标签就会按你希望的方式展现,而且同一类就不要多次设置,只要修改其独特的属性
3,id用多啦意味着你的命名需要更多的维护,更加小心,因为id重复可以带来很多的副作用,而且因为id是唯一的,设置过多的id会导致重复的概率增加。
4,从效果的角度来讲,无论idclass都可以实现相同的效果,只是方式不一样而已,所以并没有严格要求一定不能使用id,而且对于那些上层的标签或者唯一的某些样式,使用id是必要的,所以任何时候把握一个度就行

【热门文章】
【热门文章】