前端:规范3

三、CSS规范

1.代码风格

  • 采用utf-8编码,在css头部引用@charset"utf-8"
  • 采用4个空格作为一个缩进层级,(对于这点可忽略,因为现在有许多编辑器有格式化插件)
  • 选择器嵌套层级不大于3级。越后限定条件尽可能精确、
  • 尽量不用@import导入css样式文件。因为相比于<links>导入,其速度较慢
  • Media Query不得单独编排,必须与相应规则一起定义。

2.样式属性顺序

全局属性>定位属性>自身属性>文本样式>文本效果>背景属性>渲染属性>其他

.class-name {
    /*全局属性*/
    display: block;
    float: none;
    list-style: none;
    
    /*定位属性*/
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom:  0;
    z-index: 0;

    /*自身属性*/ 
    box-sizeing: boder-box;
    margin: 0 auto;
    padding: 0;
    width: inherit;//继承父级的
    min-width: none;
    max-width: none;
    height: inherit;
    min-height: 0;
    max-height: 0;
    border: none;
    border-radius: 0;
    
    /*文本样式*/
    font: inherit bold 12px/32px "new york";//等价于font-style: inherit; font-wight: bold; font-size: 12px;line-height: 32px;font-family: "new york";有多个这样的属性时建议采用简写形式,以减少代码行。
    color: #ffffff;
    font-size: 12px;
    font-style: inherit;
    font-family: "new york";
    font-weight: bold;

    /*文本效果*/
    line-height: 32px;
    text-align: center;
    vertical-align: center;
    white-space: normal;
    letter-spacing: normal;
    word-spacing: normal;
    word-break: break-all;

    /*背景属性*/
    background: #ffffff url('图片路径') no-repeat  60px 10px top left;
    background-clip: border-box;
    background-color: #ffffff;
    background-origin: border-box;
    background-size: 60px 10px;
    background-position: top left;

    /*渲染效果属性*/
    opacity: inherit;
    outline: none;
    box-shadow: none;
    transition: all;
    transform: inherit;
    animation: .25s,100ms;
    
    /*其他*/
    cursor: pointer;
    pointer-events: auto; 
}

上面的pointer-events属性如需了解请看CSS之pointer-events属性
ps:按照上述规范,能减少浏览器reflow(回流),提升浏览器渲染dom的性能

3.缩写与属性值

缩写有助提高合作的小伙伴的阅读体验。

  • 缩写
    可以进行缩写的属性有 paddingbordermarginfontbackground等。
background: color image repeat fixed left top; /*推荐*/
/*不推荐*/
background-color: #fff;//颜色有可以简写的规则
background-image: url("图片地址");
background-repeat: no-repeat;
background-attachment: fixed;
background-position: left top;

  • 当数值位小数时,可以去掉小数点前面的"0"
opacity: .7;/*推荐*/
opacity: 0.7;/*不推荐*/
  • "0像素"去掉后面的单位\
width: 0px;/*不推荐*/
width: 0;/*推荐*/
  • 16进制的颜色代码重叠的字符可以缩写的尽量缩写。
color: #fff;/*推荐*/
color: #ffffff;/*不推荐*/

4.规则声明块样式规范

1.每条样式独占一行
2.选择器分组时,统一个组的选择器独占一行,且逗号后必须跟一个空格
3.属性名与冒号之间,不能有空格,冒号与属性之间,必须有一个空格。
4.每条样式以分号结尾。
5.右大括号'}'独占一行。
6.最外层引号用单引号' '。
7一个属性有多个属性值时,用逗号分隔,逗号后添加一个空格,属性值过长单独占一行。
8.每个规则声明间用空行分隔。

ps:现在许多开发工具都有格式化插件,所以2、3、4、7可以忽略。

5.命名规范

1.一律小写
2.英文
3.命名短且语义化
4.有多个单词的,每个单词小写然后用‘-’相连
5.不建议用下划线命名,存在兼容问题,并且js变量名也是用下划线,易混淆
6.不要滥用id标识,id是js中惟一的,不建议多次使用。应按需使用
7.统一语义理解和命名,如下所示:

  • 布局:以g为命名空间
  • 状态: 以s为命名空间,表示动态的、具有交互的状态。
  • 工具:以u为命名空间,表示不耦合业务逻辑的、可复用的工具。
  • 组件:以m为命名空间、表示可复用、移植的组件模块。
  • 钩子:以j为命名空间,表示给js调用的类名。

布局(.g-)

语义 命名 简写
文档 doc doc
头部 head hd
主体 body bd
尾部 foot ft
主栏 main mn
主栏子容器 mainc mnc
侧栏 side sd
侧栏子容器 sidec sdc
盒容器 wrap/box wrap/box

模块(.m-)、元件(.u-)

语义 命名 简写
导航 nav nav
子导航 subnav snav
面包屑 crumb crm
菜单 menu menu
选项卡 tab tab
标题区 head/title hd/tt
内容区 body/content bd/ct
列表 list lst
表格 table tb
表单 form fm
热点 hot hot
排行 top top
登录 login log
标志 logo logo
广告 advertise ad
搜索 search sch
幻灯 slide sld
提示 tips tips
帮助 help help
新闻 news news
下载 download dld
注册 regits reg
投票 vote vote
版权 copyright cprt
结果 result rst
标题 title tt
按钮 button btn
输入 input ipt

功能(.f-)

语义 命名 简写
浮动清楚 clear-botn cb
向左浮动 float-left fl
向右浮动 float-right fr
内联块级 inline-block ib
文本居中 text-align-center tac
文本居右 text-align-right tar
文本居左 text-align-left tal
垂直居中 vertical-align-middle vam
溢出隐藏 overflow-hidden oh
完全消失 display-none dn
字体大小 fontsize fs
字体粗细 font-weight fw

注:个人觉得功能这块的应用不大,因为博主暂时遇到的基本上不会单独的提出功能的块(除清楚浮动的有过应用),除非是那种一键换肤的。

皮肤(.s-)

语义 命名 简写
字体颜色 font-color fc
背景 background bg
背景颜色 background-color bgc
背景图片 background-image bgi
背景定位 background-position bgp
边框颜色 border-color bdc

状态(.z-)

语义 命名 简写
选中 selected sel
当前 current crt
显示 show show
隐藏 hide hide
打开 open open
关闭 close close
错误 error err
不可用 disabled dis

6.注释规范

/*开始*/
  内容
/*结束*/

未完待续......

注:本文章是博主看以下文章做的笔记
CSS样式使用规范
CSS规范标准
如有侵权,请联系博主删除

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355

推荐阅读更多精彩内容