说明,本篇内容为书籍《高流量网站CSS开发技术》的学习总结,文字出自书本

书不错,推荐阅读学习

也可参阅网上的博文

原载:彬Go
链接:http://blog.bingo929.com/css-coding-semantic-naming.html


class和id是用来建立CSS到HTML文件内部的衔接

注意,有些选择器的写法应考虑浏览器兼容问题,如nth-child选择器,多class选择器.classA.classB(IE6和以前的版本不能理解)

对于元素class和id命名,有几件事要放在心上:

  • 语义性
  • 可接受的字符
  • 惯例
  • 一致性

1.首先说说语义性

所谓语义性,即名字应当描述内容,而不是描述表现,例子如下

♦表现型(不提倡)

PurpleBold(紫色粗体)

BigHeading(大号标题)

top-left-box(左上方框)

underlined-and-green(下划线绿色)

boxLeft(左侧框)

red(红色)

红色标示涉及元素的表现形式,这在命名里是不允许的,因为表现形式是变化的,当变化发生,不仅要修改CSS的class和id名,还要修改html相应元素的class和id名,相当麻烦,当你所编辑的是大型网站,出现多处这样的修改,是非常耗时且头疼的。所以应该尽可能采用适应变化的命名,即命名与内容紧密相关。

♦语义型(提倡)

sidebar(侧边栏)

warning(警告)

当然,有些时候适当运用表现来命名会更灵活。如,用bordered(带边框)的表现名给网站多处添加同样的样式。

记住,最佳方案不是最干净的那个,也不是最漂亮的那个,与其拘泥成法,不如将思路放开一些。

2.可接受的字符

最佳规则:始终使用字母、数字或连字符,并且始终以字母开头

记住,class和id名称是区分大小写的。

不要使用下划线,不要以数字或连字符打头,不接受“*”,“/”,“\”。虽然新的浏览器对生僻字符集的支持功能更多,但不是所有的浏览器如此,为了保证兼容性,请遵循最佳规则吧。

3.惯例

使用一些约定俗称的惯例名称,可提高代码可预测性,既让自己和他人容易理解,也有助于屏幕阅读器和分析器的工作,提高SEO(搜索引擎优化)

惯例参照Web前端开发规范手册

4.大小写

驼峰式(缩写单词的每个字母采用同样的大小写:pdfLink linkPDF)

连字符

5.命名空间

加前缀,如:wp-users。命名空间需要制定团队内的命名空间约定。

这是防御式CSS采用的技术之一,通过命名空间隔离代码,避免冲突,使其不影响原有和未来的代码。

后续阶段的学习:

Microformat(微格式)   http://microformats.org/

最新文章

  1. javascript_core_05之正则表达式
  2. 写在开始编写Java之前(2)——Java的环境
  3. jquery无限级下拉框
  4. mod_php VS mod_fastcgi
  5. C# 使用GDI+绘制漂亮的MenuStrip和ContextMenuStrip皮肤
  6. hdu2044java
  7. Java基础知识强化之集合框架笔记31:集合之泛型类的概述和基本使用
  8. MD5 密码破解 碰撞 网站
  9. asp.net实现 EXCEL数据导入到数据库功能
  10. (链表 importance) leetcode 2. Add Two Numbers
  11. 在 2016 年学 JavaScript 是一种什么样的体验?(React从入门到放弃)
  12. HDU 1068 Girls And Boys 二分图题解
  13. uva579-简单计算题
  14. Spark MemoryManager内存模型
  15. 【SSH网上商城项目实战28】使用Ajax技术局部更新商品数量和总价
  16. C#集合之可观察的集合
  17. memcache两种客户端比较
  18. php 中php-fpm 的重启、终止操作命令
  19. SQL Server 索引中include
  20. C4C销售订单中业务伙伴的自动决定功能Partner determination procedure

热门文章

  1. HDU1150Machine Schedule(二分图最大匹配的DFS解法)
  2. kindeditor html代码过滤不能保存
  3. M站 confirm 插件
  4. 数据库:mongodb与关系型数据库相比的优缺点
  5. 隐马尔可夫模型(HMM)
  6. jQuery each,避免使用js for循环
  7. SQLServer: 无法修改表
  8. OpenGL光照测试
  9. jQuery日历和日期选取插件
  10. Chrysler -- CCD (Chrysler Collision Detection) Data Bus