CSS规范

一.命名规范BEM(Block Element Modifier)

1.Block name

-- 实体名称中的单词之间用连字符分隔(-)

HTML

<div class="menu">...</div>
<div class="menu-name">...</div>

CSS

.menu { color: red; }
.menu-name { color: red; }
2.Element name

***-- 元素名与块名之间用双下划线分隔(__)***

***-- 需要注意的是不要出现block__elem1__elem2类似的命名,因为元素总是块的一部分,而不是另一个元素的。***

HTML

<div class="menu">...<span class="menu__item"></span>
</div>

CSS

.menu__item { color: red; }
3.Block modifier name

-- 修饰符与块或元素的名称之间用双连字符分隔(--)

-- 修饰语的值与其名称之间用双连字符分隔(--)

HTML

<div class="menu menu--hidden"> ... </div>
<div class="menu menu--theme--islands"> ... </div>

CSS

.menu--hidden { display: none; }
.menu--theme--islands { color: green; }
Example:

HTML

<header class="header"><img class="logo"><form class="search-form"><input class="search-form__input search-form__input--focus"><button class="search-form__button search-form__button--size--s"></button></form><ul class="lang-switcher"><li class="lang-switcher__item"><a class="lang-switcher__link" href="url">en</a></li><li class="lang-switcher__item"><a class="lang-switcher__link" href="url">ru</a></li></ul>
</header>

CSS

/* 块命名规则1:block */
/* header Block */
.header{...
}/* 块命名规则2:block-name */
/* search-from Block */
.header .search-form{...
}/* 元素命名规则:block-name__element-name */
/* lang-switcher__item Element */
.lang-switcher .lang-switcher__item{...
}/* 修饰符命名规则1:block-name__element-name--modifier-status */
/* search-form__input--focus Modifier */
.search-form .search-form__input--focus{...
}/* 修饰符命名规则2: block-name__element-name--modifier-name--modifier-value */
/* search-form__button--size--s Modifier */
.search-form__button--size--s{...
}

二.注释规范

1.单行注释

注释内容第一个字符和最后一个字符都是一个空格字符,单独占一行,行与行之间相隔一行。

推荐

/* Comment Text */
.sd-style{}/* Comment Text */
.sd-style{}

不推荐

/* Comment Text */
.sd-style{}.sd-style{}/* Comment Text */
2.模块注释

注释内容第一个字符和最后一个字符都是一个空格字符,/* 与 模块信息描述占一行,多个横线分隔符-与/占一行,行与行之间相隔两行*

推荐

/* Module A
---------------------------------------------------------------- */
.mod_a {}/* Module B
---------------------------------------------------------------- */
.mod_b {}

不推荐

/* Module A
---------------------------------------------------------------- */
.mod_a {}
/* Module B
---------------------------------------------------------------- */
.mod_b {}
3.文件信息注释
@charset "UTF-8";
/*** @desc File Info* @author Author Name* @date 2015-10-10*/

三.代码风格

1.代码格式化

样式书写一般有两种:一种是紧凑格式 (Compact)

.sd-style{display: block;width: 50px;}

一种是展开格式(Expanded)

.sd-style{display: block;width: 50px;
}

我们约定统一使用展开格式书写样式

2.代码大小写
/* 推荐 */
.jdc{display:block;
}/* 不推荐 */
.JDC{DISPLAY:BLOCK;
}
3.选择器
  • 尽量少用通用选择器 *
  • 不使用 ID 选择器
  • 不使用无具体语义定义的标签选择器
/* 推荐 */
.sd-style {}
.sd-style li {}
.sd-style li p{}/* 不推荐 */
*{}
#sd-style {}
.sd-style div{}
4.属性书写顺序

建议遵循以下顺序:

  • 布局定位属性:display / position / float / clear / visibility / overflow
  • 自身属性:width / height / margin / padding / border / background
  • 文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word
  • 其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …
.sd-style {display: block;position: relative;float: left;width: 100px;height: 100px;margin: 0 10px;padding: 20px 0;font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;color: #333;background: rgba(0,0,0,.5);-webkit-border-radius: 10px;-moz-border-radius: 10px;-o-border-radius: 10px;-ms-border-radius: 10px;border-radius: 10px;
}
5.CSS3浏览器私有前缀写法

CSS3 浏览器私有前缀在前,标准前缀在后

.sd-style {-webkit-border-radius: 10px;-moz-border-radius: 10px;-o-border-radius: 10px;-ms-border-radius: 10px;border-radius: 10px;
}

转载于:https://www.cnblogs.com/huiwenhua/p/10912384.html

前端代码规范-CSS相关推荐

  1. 前端代码规范——CSS代码规范

    文章目录 CSS代码规范 1.命名规范 1.1 block 1.2 Element 1.3 Modifier 2 代码风格 3 通用 3.1 选择器 3.2 属性缩写 3.3 清除浮动 3.4 !im ...

  2. [Client]前端代码规范 及 最佳实践

    前端代码规范 及 最佳实践 2014/10/29 | 分类: WEB前端, 工具与资源, 开发 | 0 条评论 | 标签: 代码规范, 前端开发, 最佳实践 分享到: 62 本文作者: 伯乐在线 -  ...

  3. 【必看】前端代码规范

    代码规范 1. 概述 欢迎使用品优购代码规范, 这个是pink老师借鉴京东前端代码规范,组织的品优购内部规范(任何前端开发项目都适用的).旨在增强团队开发协作.提高代码质量和打造开发基石的编码规范, ...

  4. 网站开发之前端代码规范

    前端代码规范 前言 一.唯一定律 二.前段代码规范 (一)命名规范 1.1.项目命名 1.2 .目录命名 1.3.文件存放位置 1.4.JS.CSS.HTML.PNG 等文件命名 1.4.命名严谨性 ...

  5. 前端代码规范参考和如何保持前端代码规范

    1.前端代码规范参考 编写前端代码规范的主要驱动力是两方面:  1) 代码一致性(一个项目的代码看起来就像一个人写的一样) 2) 最佳实践.  通过保持代码风格和传统的一致性,我们可以减少遗留系统维护 ...

  6. Web 前端代码规范

    Web 前端代码规范 最后更新时间:2017-06-25 原始文章链接:https://github.com/bxm0927/web-code-standards 此项目用于记录规范的.高可维护性的前 ...

  7. html字面量编码,Web 前端代码规范

    Web 前端代码规范 最后更新时间:2017-06-25 原始文章链接: 此项目用于记录规范的.高可维护性的前端代码,这是通过分析 Github 众多前端代码库,总结出来的前端代码书写规范. 目录前端 ...

  8. 小团队的前端代码规范

    前端代码规范 文章目录 前端代码规范 1 前言 2 命名规范 1) 项目命名 2 )目录命名 3)`javaScript` 文件命名 4)`CSS`,`less`文件命名 5)HTML文件命名 6) ...

  9. 前端代码规范网址导航(总结)

    在大公司代码规范是非常重要的一件事情,多人协作,还有代码评审.所以能写出漂亮的代码非常重要. 这就好比你自己在家,无论是穿大裤衩子,还是背心,甚至是光膀子,都没人管你.但你要出门去约会,就要把最好的一 ...

最新文章

  1. spring boot2 整合(一)Mybatis (特别完整!)
  2. python学习笔记 day25 封装
  3. VC操作XML编程实例
  4. (译)在Objective-c里面使用property教程
  5. 【Python数据结构】 抽象数据类型 Python类机制和异常
  6. Java基础-hashMap原理剖析
  7. 从武侠门派的角度去解释域、域树、林的含义(下)
  8. JAVA互联网应用架构师、JAVA架构、JAVA中间件、集群等互联网应用
  9. WPF DataGrid 根据某一特定内容进行交叉变色
  10. Android 常用简单bat脚本
  11. 服务器显示初始化失败怎么回事,服务器初始化失败
  12. 「课程」微观经济学-北京大学光华管理学院
  13. [山东科技大学OJ]1653 Problem C: 藏头诗
  14. 希望 绝望 前进 枷锁 不退缩 我坚持所有一切
  15. Excel去掉函数错误值#VALUE!的方法
  16. Java 用键盘输入 int型 String型 char型数据 示例:简单计算功能 eclipse
  17. Android7.0 8.0进程保活与拉活的实现方式
  18. win11的数字签名驱动认证关闭
  19. python显示倒计时_python版春节倒计时实时显示
  20. python数学公式编辑工具_使用Python一键生成LaTeX数学公式

热门文章

  1. Advanced Auto Layout:Programmatically Creating Constraints
  2. UIScrollView无法滚动可能的原因及解决办法分析
  3. Android初学者教程
  4. 超链接浏览meta name=format-detection/ 的用法
  5. 自己动手写一个JQuery插件(第二篇)(转)
  6. GNS3与SecureCRT关联问题
  7. linux脚本编写记录
  8. HttpServletrequest 与HttpServletResponse总结
  9. 1-3团队冲刺第九天
  10. Zookeeper概念学习系列之分布式事务