CSS开发规范

摘要:

  转载:http://www.cnblogs.com/xiyangbaixue/p/3962038.html

无论多少人开发一个项目,规范是最初始也是最基本的,一个好的规范不仅让代码看起来完美也能够解决冲突。下面是我在开发时使用的css规范

基本规范:

  1. 所有名称小写,符合w3c规范
  2. 类名和id,多个变量之间用中划线连接
  3. 所有变量只能使用名词
  4. 变量定义要符合语义化

基本原则:

  1. 以项目名或者一个全局名称为命名空间,例如你的项目名叫demo,则命名空间为demo,这样在多人合作开发时,高度统一如一人编写。
  2. 关注分离,将 HTML、CSS 解耦;模块化编码。

模块化编写实践:

  1. 语义化的模块名

    通过模块名应该能一眼就看出模块的是干什么的。一般模块名代表着这个模块的功能,如看到shopping就知道这个模块是购物的

  2. 模块内部的类名继承自父级

    如:

    1 <div class="demo-shopping">
    2    <h2 class="demo-shopping-title">title</h2>
    3    <p class="demo-shopping-body">hello world!</p>
    4 ?</div>

    上面的代码中,模块的名为 shopping,模块最外层使用 {命名空间}-{模块名} 的方式命名 Class。模块子元素以在此基础上进行命名。如果不继承父级的类名,很容易造成命名冲突。

  3. 充分考虑结构的语义化

        虽然在 Class 的命名上已经做到的了关注分离,编写样式不再依赖具体的元素名称,但仍应该考虑语义化,根据元素设计的目的来使用元素。是段落的,你就用 <p>;是标题的,就用 <h1>~<h6>;是引用的,就用 <blockquote>, 而不是简单粗暴的用 <div><span>。语义化的目的,一方面是抽去 CSS 以后,页面还是一个结构良好、可读的页面;另一方面,这也是 SEO 的最基本要求。
  4. 避免不必要的 CSS 选择符嵌套

    Class 已经模块化命名,从类名上已经可以清晰的分辨元素的从属,一般情况下也不会造成类名冲突,没有必要再进行选择器嵌套,保持 css 结构清晰,提高渲染效率。特殊情况可以嵌套(如提高权重、主题之间代码隔离),但应避免过多层级。

    1 /* 推荐写法 */
    2 .demo-shopping {
    3
    4 }
    5 .demo-shopping-body {
    6
    7 }
    8 /* 不推荐写法 */
    9 .demo-shopping .demo-shopping-body {}

  5. 与 JS 交互时,在模块 HTML 结构的最外一层添加状态,而非给模块每个子元素单独添加元素

    给最外层添加状态类以后,整个模块的样式都能控制,减少操作,提高性能,比如,我们可以这样写:

    1 <div class="demo-shopping demo-shopping-active">
    2    <h3 class="demo-shopping-title"></h3>
    3    <p class="demo-shopping-content"></p><
    4 /div>

    但不要这样写(效率更低):

    1 <div class="demo-box">
    2    <h3 class="demo-shopping-title demo-shopping-title-active"></h3>
    3    <p class="demo-shopping-content demo-shopping-content-active"></p>
    4 </div>

命名注意事项:

    1. 语义化,望文见义
      如 demo-tab、demo-nav,不要使用 redleft 等表象的词命名。
    2. 模块状态: {命名空间}-{模块名}-{状态描述}
      常用状态有:hover, current, selected, disabled, focus, blur, checked, success, error 等
    3. 子模块: {命名空间}-{模块名}-{子模块名}
      常用模块名有:bd(body),cnt(content),hd(header),text(txt),img(images/pic),title,item,cell 等, 词义表达组件要实现的功能。
    4. 模块嵌套:

      1 <ul class="demo-nav">
      2     <li class="demo-nav-item">
      3         <a href="#">nav</a>
      4         <ul class="demo-subnav">
      5             <li class="demo-subnav-item">
      6                 <a href="#">subNav</a>
      7                     <ul class="demo-list">

    5. 统一命名风格(使用相同名词命名不同组件的子元素):
      如 demo-tab-head, demo-modal-head,便于理解。
时间: 2024-12-04 03:28:02

CSS开发规范的相关文章

豆瓣网前端开发规范之-css开发规范

1. CSS浏览器支持标准 WinXP Win7 OS X IE9 C C IE8 A A IE7 A A IE6 A A Chrome7 C C C Chrome6 A A A Chrome3 B B B Firefox4 C C C Firefox3.6 A A A Firefox3.5 C C Firefox3 C C Safari B B B Opera C C C (注:根据2010年11月10日数据整理) A级-交互和视觉完全符全设计的要求 B级-视觉上允许有所差异,不破坏页面整体效

前端开发规范总结 总结前端开发模式和规范

1.前端开发规范 WEB客户端开发自成体系, 主要用于智能终端(iPhone.Android手机.iPad.Android Pad)和传统PC的开发.JS规范.HTML规范和CSS规范对客户端开发进行全方位指导,统一编码规范.提高可读性.降低维护成本. 1.1一般规范 应用在 HTML, JavaScript 和 CSS上的通用规则. 1.1.1文件/资源命名 1)     以可读性而言,减号(-)用来分隔文件名: 2)     使用驼峰方式命名文件名与文件所在的文件夹,便于统一配置: 3)  

前端开发规范总结

1.前端开发规范 WEB客户端开发自成体系, 主要用于智能终端(iPhone.Android手机.iPad.Android Pad)和传统PC的开发.JS规范.HTML规范和CSS规范对客户端开发进行全方位指导,统一编码规范.提高可读性.降低维护成本. 1.1一般规范 应用在 HTML, JavaScript 和 CSS上的通用规则. 1.1.1文件/资源命名 1)     以可读性而言,减号(-)用来分隔文件名: 2)     使用驼峰方式命名文件名与文件所在的文件夹,便于统一配置: 3)  

前端开发规范文档(html,css,js)

首先吐槽一句,本来想上传word文档的,可是发现博客不能上传word文档,这就很尴尬了. 首先声明该规范不是本人写的,网上搜前端规范发现这个很详细就先复制下来做笔记,当然不可能啥都按规范来,每个公司的规范都不一样..仅供参考 前端开发规范文档 Html规范 1 代码风格 1.1 缩进 **[强制]**使用 4 个空格作为一个缩进层级,不允许使用 2 个空格或 tab 字符: 2 属性 2.1 属性引号 **[强制]**对于属性的定义使用双引号,不允许使用单引号,不允许不使用引号: 示例: <!-

web项目开发 之 前端规范 --- CSS编码规范

此文严格按照W3C规范和部分实际项目可读性,浏览器加载,性能等众多属性权衡,做出平时前端编码规范 文档.供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力. 转载请注明出处:JS前端实用开发QQ群 :147250970  欢迎加入~! CSS编码规范 1 前言 2 代码风格 2.1 文件 2.2 缩进 2.3 空格 2.4 行长度 2.5 选择器 2.6 属性 3 通用 3.1 选择器 3.2 属性缩写 3.3 属性书写顺序 3.4 清除浮动 3.5 !important 3.6 z

前端开发规范-CSS规范

前端开发规范-CSS规范 1.通用约定 (1)代码组织 以组件为单位组织代码段: 制定一致的注释规范: 组件块和子组件块以及声明块之间使用一空行分隔,子组件块之间三空行分隔: 如果使用了多个 CSS 文件,将其按照组件而非页面的形式分拆,因为页面会被重组,而组件只会被移动: 良好的注释是非常重要的.请留出时间来描述组件(component)的工作方式.局限性和构建它们的方法.不要让你的团队其它成员 来猜测一段不通用或不明显的代码的目的. 提示:通过配置编辑器,可以提供快捷键来输出一致认可的注释模

web前端开发规范

本文原创,这里首先声明,转载注明本文出处,翻版必究! web前端开发规范的现实意义 1.提高团队的协作能力 2.提高代码的重复利用率 3.可以写出质量更高,效率更好的代码 4.为后期维护提供更好的支持 5.可读性高 一.命名规则 1.html命名规则: a.文件名称命名规则:统一使用小写英文字母.数字.下划线的组合,不得包含汉字空格和特殊字符 2.命名原则:方便理解.方便查找 b.索引文件命名原则:index.html.index.htm.index.asp.index.aspx.index.j

Web前端开发规范手册

一.规范目的 1.1 概述 ..................................................................................................................................... 1 二.文件规范 2.1 文件命名规则...................................................................................

Web前端开发规范文档(google规范)

(Xee:其实没什么规范约束,但是养成一种好习惯,何乐而不为?) 我推荐去看看google的开发规范,然后从他的当中去总结自己的开发规范. Google HTML/CSS代码风格指南 Google JavaScript 编码规范指南 ------------------------------------------------------------------------------------------------------------------------------- 绝大多数项