如果已经在元素中标识了class或id,就可以在选择器中使用这个标准,从而只对已标识的元素进行格式化。不过推荐使用类选择器,一会儿我会解释理由。

  要在class选择器和id选择器之间作出选择的时候,建议尽可能地使用class选择器。这主要是因为我们可以复用class选择器。有人提议完全不使用id选择器,我赞同这种观点,并且在自己的工作中始终遵循这一点,但最终的决定权掌握在网站开发人员手中。

  id选择器会引入下面两个问题。‰

  一,与它们关联的样式不能在其他元素上复用(记住,在一个页面中,一个id只能出现在一个元素上)。这会导致在其他元素上重复样式,而不是通过class共享样式。‰

  二,它们的特殊性比class选择器要强得多。这意味着如果要覆盖使用id选择器定义的样式,就要编写特殊性更强的CSS规则。如果数量不多,可能还不难管理。如果处理规模较大的网站,其CSS就会变得比实际所需的更长、更复杂。

  随着你处理的CSS越来越多,你对这两点的理解也会更加清晰。(另一方面,有人喜欢使用id选择器的原因之一就是使用它们一眼就能看出元素是唯一的。不过,依照个人经验,这点好处还不足一均衡它带来的弊端。另外,万一你哪天改变了网站设计,原先唯一的元素不再唯一,id选择器就不合适了。)

  因此,推荐的做法是寻找能将共享样式结合进一个或多个class的机会,从而可以对它们进行复用,同时,如果确实要使用id选择器,也应该尽量少用。这样,你的样式表会比较短,更易于管理。需要说明的是,id选择器在HTML中仍具有重要的作用。通过它们可以在页面中定义锚,在编写JavaScript为特定的页面元素应用特殊行为时它们尤其具有重要的价值。

  摘自《HTML5 and CSS visual QuickStrat Guide》

最新文章

  1. Jquery的$(selector).each()和$.each()原理和区别
  2. java.util.ConcurrentModificationException --map
  3. 浅谈UI设计中妙用无穷的深色系背景
  4. 【转载】cmake编写
  5. Thinkphp内置截取字符串函数
  6. jQuery插件开发模式
  7. vc2005 编译ACE-6.2.0
  8. PhpCMS标签:专题模块special标签
  9. 基于visual Studio2013解决面试题之0909移动星号
  10. javascript焦点图(能够自己主动切换 )
  11. 百度云盘建svnserver步骤
  12. 《JS权威指南学习总结--9.2 类和构造函数》
  13. java学习阶段三:运算符和结构学习
  14. 浅谈css中单位px和em,rem的区别-转载
  15. Python的__getattr__和__getattribute__
  16. thinkPHP替换SQL变量
  17. kube-proxy的功能
  18. Oracl 12c安装
  19. mezzanine的page_menu tag
  20. golang优先队列

热门文章

  1. Tomcat 9 管理界面配置
  2. pygis库组件安装相关问题
  3. [oracle/java/sql]用于上十万批量数据插入Oracle表的Java程序
  4. SQLServer len 函数, 查字符串长度函数
  5. Xamarin.FormsShell基础教程(5)Shell项目内容新建页面
  6. Python 使用 win32com 模块对 word 文件进行操作
  7. .NET Core开源Quartz.Net作业调度框架实战演练
  8. [数据结构 - 第6章] 树之链式二叉树(C语言实现)
  9. Oracle Spatial分区应用研究之七:同等分区粒度下全局索引优于分区索引的原因分析
  10. 分页Model