前言:最近在做微信小程序,因为公司小,就我一个人弄前端的东西,js和页面都是我来弄,结果那天后台的人看到我的js代码,说我的代码写得不规范,函数什么的都很乱,弄得我羞愧难当,幸亏没看我的css,其实我的css命名也很随意==!一直觉得自己css其实还是可以的,但是突然发现自己到现在的css还没有很规范,很多名称什么的还很随意,有的地方用驼峰命名,有的又用横杠,有的还会用下划线,真的太随意了,所以就上网搜了搜命名规范,改了两天终于把样式全改过来了。因此做个小结:

意义:感觉规范css代码是非常有意义的,早点有一套自己的规范的话在以后的编写css的时候就可以省去很多想应该怎么命名的时间,从长远的角度还是非常有好处的,其次别人看你的css时就可以一眼知道它代表的是什么意思,最后可以装b,哈哈。

规范:其实我是直接百度“css代码规范”,然后就搜到好多信息,看到知乎里人推荐网易1的一套前端规范,然后看了看确实不错,就以它为基础整理了自己的css编写规范。

  分类及命名:

  一、大体分下面几大类,分别以g-、m- 、u-、f-、s-、z-及自定义x-来命名第一个字母,表明 作用

  1. 布局(grid)(.g-):将页面分割为几个大块,通常有头部、主体、主栏、侧栏、尾部等!
  2. 模块(module)(.m-):通常是一个语义化的可以重复使用的较大的整体!比如导航、登录、注册、各种列表、评论、搜索等!
  3. 元件(unit)(.u-):通常是一个不可再分的较为小巧的个体,通常被重复用于各种模块中!比如按钮、输入框、loading、图标等!
  4. 功能(function)(.f-):为方便一些常用样式的使用,我们将这些使用率较高的样式剥离出来,按需使用,通常这些选择器具有固定样式表现,比如清除浮动等!不可滥用!
  5. 皮肤(skin)(.s-):如果你需要把皮肤型的样式抽离出来,通常为文字色、背景色(图)、边框色等,非换肤型网站通常只提取文字色!非换肤型网站不可滥用此类!
  6. 状态(.z-):为状态类样式加入前缀

    ps:为什么要用连字符还是有一些讨论的:CSS样式名中的下划线与连字符

  二、选择器属性和属性值一律用小写

  三、每个属性值后面都加分号结尾,即使是最后一个

  四、省略值为0时的单位 即:0px,0em,0% -> 0

  五、一律使用单引号

  六、使用16进制表示颜色(除了透明度用rgba)

  七、属性与值之间有一个半角空格的间距

  八、书写顺序2

    1.  位置属性(position, top, right, z-index, display, float等)
    2.  大小(width, height, padding, margin)
    3.  文字系列(font, line-height, letter-spacing, color- text-align等)
    4.  背景(background, border等)
    5.  其他(animation, transition等)

    ps:其实这里面的height和line-heightde位置我是很纠结的,因为其实很多时候我都是直接省略height直接用line-height来撑起来的高度,自己实际上还是没太搞懂line-height 这个属性,需要注意去研究一下!!

  九、其他:

    一般写css的时候都需要重置一些浏览器默认的css,这里有个优化阅读体验的文章,还可以,里面的把#000纯黑的颜色改成#333这个小技巧很多网站都在用,自己也没在意,因此特地记一下。

缩略词:其实我在改写我的那些css的时候很多时候我都在思考应该怎么缩写那些单词,虽然网易前端规范也写了一些缩略,但是挺少的,正好找了一篇文章,可以在这里查查,实在找不到就百度去吧。常用缩略词:http://blog.csdn.net/yfh1985sdq/article/details/17260429

参考地址:

1 网易前端规范:http://www.shejidaren.com/css-written-specifications.html

2 css书写顺序讨论:http://www.cnblogs.com/wybie/p/3689867.html

3 css编写规范,有例子,界面也很好看,我大体就是参考这个网站个网易前端规范来的:http://nec.netease.com/standard/css-practice.html

最后,写博客也是挺累的,,,真的很佩服网上那些大神,既能写的那么精简,又能幽默风趣,真的让人羡慕呀,没错,我说的就是张鑫旭张大神,任重而道远啊~

个人css编写规范的更多相关文章

  1. HTML+CSS编写规范

    在任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一.代码维护和扩展.由于Web项目开发的分散性.独立性.整合的交互性等,所以定制一套完整的约定和规则显得尤为重要. ...

  2. css编写规范最佳实践

    最初,在编写CSS的时候,我们往往想到哪儿就写到哪儿,它们之间的关联性和有序性并不在考虑之中.但随着代码量的增加,亦或是多人共同开发,CSS的编写规范变得重要起来了.本文通过三个方面,总结出CSS编写 ...

  3. css编写规范

    一.注释规范 1.文件顶部注释(推荐使用) /* * @description: 中文说明 * @author: name * @update: name (2013-04-13 18:32) */ ...

  4. html css 编写规范

    html 规范 一 语法 1.用两个空格带她tab, 2.嵌套的元素应该缩进一次,即两个空格是最好 3.属性定义,全部使用双引号,尽量避免单引号. 4.不要在自闭和标签尾部添加闭合标签. 5.可选得结 ...

  5. 关于HTML与CSS编写规范

    之前一直没有注意到这一点,因为当看到一些优秀的网站的源代码的时候,打开他们引用的css文件格式看起来也并非规范.但幸运的昨天偶然间看到的通过增强CSS规范可读性可优化页面性能,于是下决心痛改前非. 我 ...

  6. 高质量CSS编写规范

    ①id和class的命名在保持语义性的同时尽可能的短.不推荐的写法:#navigation {} .atr {}推荐的写法  : #nav {} .author {}可以缩写单词,但缩写后务必能让人明 ...

  7. web(五)CSS引入方式,编写规范及调试

    CSS (Cascading Style Sheets)层叠样式表 ,是由万维网联盟(W3C)制定的标准 CSS的主要作用: 美化html元素的外观,例如设定背景颜色.字体等. 对网页元素进行布局.以 ...

  8. CSS编写指导规范和建议

    在参与规模庞大.历时漫长且参与人数众多的项目时,所有开发者遵守如下规则极为重要: 保持 CSS 易于维护 保持代码清晰易懂 保持 CSS 的可拓展性 为了实现这一目标,我们要采用诸多方法. 本文档第一 ...

  9. CSS的编写规范

    一.前言 如上图,页面在渲染和画图时,耗时还是比较多的,这就对我们的编写要求愈加严格. 我们有很多方法来减少上图所示的页面加载耗时的,比如 但是更多的还是在于平时的编写规范,我们需要了解浏览器,让他更 ...

随机推荐

  1. 【Java】XML文件的解析

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  2. JQuery的事件委托;jQuery注册事件;jQuery事件解绑

    一.事件 ①事件委托:就是给子元素的父元素或者祖先元素注册一个事件,但是事件的执行者是子元素,委托事件的好处是能够给动态创建出来时元素也加上事件. ②简单事件:就是给自己注册事件自己执行动态创建出来的 ...

  3. jquery之行自加自减

    实现目标:点击按钮复制本行,修改后重新插入到本行后面,点击复制出的行可删除本行 代码如下: <!DOCTYPE html> <html lang="en"> ...

  4. docker 部署 java 项目

    Docker Docker官方网址: https://docs.docker.com/  英文地址 Docker中文网址: http://www.docker.org.cn/ 中文地址 Docker是 ...

  5. 学习css(TODO)

    1. css 是一个什么样的角色? 答:css 负责控制网页的样式. 扩展:div + css 是经典的网页布局.实现网页内容与表现相分离. 2. css 的使用方式? 答:1. 内联式:直接在 HT ...

  6. 安卓开发_浅谈AsyncTask

    现在就来学习一下AsyncTask. 一.先介绍一下AsyncTask: 在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给 ...

  7. 第一章 Hyper-V 2012 R2角色部署

      在windows server 2012 R2中,我们可以通过安装hyper-v角色来完成虚拟化底层架构的部署.除了图形界面的安装,也可以使用单独的发行版Hyper-V Server 2012 R ...

  8. python socket 套接字编程 单进程服务器 实现多客户端访问

    服务器: import socket #单进程服务器 实现多客户端访问 IO复用 #吧所有的客户端套接字 放在一个列表里面,一次又一次的便利过滤 server = socket.socket(sock ...

  9. .net core 导出Excel(epplus 创建excel )

    [Route("getopenfrequencyexcel")] [HttpGet] public IActionResult GetOpenFrequencyExcel(int ...

  10. 【PAT】B1060 爱丁顿数(25 分)

    逻辑问题,对我来说还是挺有难度的,一开始想不通 我输入数据并以数据为下标,数据出现次数为内容存储 然后从后遍历计算所有大于当前下标的元素出现的次数 最后遍历一遍确定是否为爱丁顿数,如果大于当前已经找到 ...