虽然我只是刚踏入web前端开发圈子。在一次次任务里头,我发觉每一次的css命名都有所不同和不知所措。脑海就诞生了一个想法——模仿大神的css命名样式。

毕竟日后工作上,是需要多个成员共同协作的。如果没有良好的命名,就会造成许多没必要的耽误和麻烦。

  命名空间的规范:

布局:以 g 为命名空间,例如:.g-wrap 、.g-header、.g-content。
状态:以 s 为命名空间,表示动态的、具有交互性质的状态,例如:.s-current、s-selected。
工具:以 u 为命名空间,表示不耦合业务逻辑的、可复用的的工具,例如:u-clearfix(清除浮动)、u-ellipsis(省略)。
组件:以 m 为命名空间,表示可复用、移植的组件模块,例如:m-slider(滑动)、m-dropMenu(下拉菜单)。
钩子:以 j 为命名空间,表示特定给 JavaScript 调用的类名,例如:j-request、j-open。
                                                                  引用于:大神ChokCoco
 样式属性的规范:
单个样式规则下的属性在书写时,应按功能进行分组,并以
Positioning Model > Box Model > Typographic > Visual 的顺序书写,提高代码的可读性。
如果包含 content 属性,应放在最前面;
Positioning Model 布局方式、位置,相关属性包括:position / top / right / bottom / left / z-index / display / float / ...
Box Model 盒模型,相关属性包括:width / height / padding / margin / border / overflow / ...
Typographic 文本排版,相关属性包括:font / line-height / text-align / word-wrap / ...
Visual 视觉外观,相关属性包括:color / background / list-style / transform / animation / transition / ...
                                                                  引用于:大神ChokCoco
positioning排在第一位,因为它可以使一个元素脱离正常文档流,box决定了一个组件的大小。其他属性只在内部起作用。

面向属性的命名:不要管页面什么位置,什么内容,面向属性的命名”就是针对自身属性的一种命名方式

.tr{text-align:right;}

.pb8{padding-bottom:8px;}

双标签方法&宽度分离原则

.w470{width:470px;}

.inset{padding:20px; border:1px solid #ddd;}

这样padding与border就会自适应width。Width就变成主动了。外层标签就负责宽度或者与之分离的margin属性,以提高CSS的重用性以及页面的容错与自适应能力。

“分离”思想下的命名只针对属性本身, “无分离”思想的命名是针对页面内容,所以上述改为:

.txtw1{width:470px;}

.inset1{padding:20px; border:1px solid #ddd;}

当以后发现其他部分也用到width470px,可以合并为

.txtw1,.w470{width:470px;}

要注意,只有页面要使用到与文本框独立宽度一样宽度的时候才进行分离并合并

精简高效CSS命名之“三无原则”

no id
no 辈分层级

no 标签

                                                                  引用于:大神张鑫旭
还有就是附上一些常用的特殊符号

&nbsp:牛逼(nb)空格(sp - space),容易受影响。


&ensp:恶念(e n-ian)空格占据的宽度正好是1/2个中文宽度,而且基本上不受字体影响。


&emsp:恶魔(e m-o)空格占据的宽度正好是1个中文宽度,而且基本上不受字体影响。


‹&lsaquo ›&rsaquo√&radic×&times


CSS 样式书写规范+特殊符号的更多相关文章

  1. CSS 样式书写规范

    可能不同团队都有各自的规范,又或者很多人在写 CSS 的时候还是想到什么就写什么,不存在太多的约束. 我觉得 CSS 代码规范还是有存在的必要的,尤其是在团队配合,多人协作下,规范就显得尤为重要. 本 ...

  2. css样式书写规范

    在工作当中css样式是非常重要的,但是咋样书写css样式更重要. 一.css书写规范 1.定位属性:position  display  float  left  top  right  bottom ...

  3. 关于CSS的书写规范和顺序

    关于CSS的书写规范和顺序,是大部分前端er都必须要攻克的一门关卡,如果没有按照良好的CSS书写规范来写CSS代码,会影响代码的阅读体验.这里总结了一个CSS书写规范.CSS书写顺序供大家参考,这些是 ...

  4. css样式书写的问题

    经常遇到前端的朋友问及css样式书写的问题,结合自己实际的工作,自己总结了整理了一下,给大家分享: 一.顺序问题:显示属性-位置属性-元素自身属性-文本属性-其他属性 1.显示属性:z-index.d ...

  5. css的书写规范+常用

    格式化: body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blo ...

  6. css命名书写规范小结。

    单行形式书写风格的排版约束 1.   每一条规则的大括号 { 前后加空格 2.   多个selector共用一个样式集,则多个selector必须写成多行形式 3.   每一条规则结束的大括号 } 前 ...

  7. css的书写规范,有哪些注意点

    一.框架为先,细节次之. 先写一些浮动,然后高与宽,然后再是细节方面的书写. 比如写一个浮动容器的样式,我们应该先让这个容器的框架被渲染出来,让大家看到基本的 网站框架.然后再再去渲染容器里面的内容. ...

  8. css样式书写顺序

    这里推荐先写显示属性,再写自身属性,再写文字属性:并不代表非得按这个顺序写,但这种写法可以使css结构更清晰易读,修改起来比较方便. 而且在团队项目中能更好地提高效率. //显示属性 display ...

  9. CSS3书写规范

    css样式的书写顺序: 1.位置属性(position, top, right, z-index, display, float等) 2.大小(width, height, padding, marg ...

随机推荐

  1. javaWEB之Servlet

    Servlet 1. 什么是Servlet  * Servlet是JavaWeb三大组件之一(Servlet.Filter.Listener)  * Servlet是用来处理客户端请求的动态资源  * ...

  2. 纯手工打造简单分布式爬虫(Python)

    前言 这次分享的文章是我<Python爬虫开发与项目实战>基础篇 第七章的内容,关于如何手工打造简单分布式爬虫 (如果大家对这本书感兴趣的话,可以看一下 试读样章),下面是文章的具体内容. ...

  3. 正确地缩写 document.querySelector

    北京的夕阳,伴随淡淡的霾殇.从写字楼望去,光线是那么昏黄.没有孤雁,也没有霞光,遥想当年,还是 jQuery 独霸一方.那时的我们,写程序都习惯了使用 $,至少在对美元符号的喜爱上,与 PHP 达成了 ...

  4. noip模拟 市长选举

    题目描述 利贝尔王国的卢安市因为前段时间的市长被捕事件,导致没有市长管理城市.他们需要一个新的市长. 竞选的人有两位.一位是诺曼,因支持旅游业而受到支持者的拥护.一位是波尔多斯,代表的是卢安的传统行业 ...

  5. 开发抓包工具 Mac charles 3.11.5 破解版 安装包

    摘要 在发开过程中,追踪请求和监控请求与返回数据是我们经常会需要的一个需求,在Mac端,Charles是一款非常易用的抓包工具. 一.简介 Charles是Mac端的一款截取与分析网络请求的工具,在网 ...

  6. 关于MATLAB处理大数据坐标文件2017527

    第一次提交数据: 今天用了8个特征,加上的这一个特征是 从3000条测试数据中测试失败的数据总结出来的树的数目为50再次使用3000条测试数据测试结果-- 结果不错: 99%但是运行官网数据结果分数- ...

  7. 从String类型字符串的比较到StringBuffer和StringBuilder

    1. String类型 String类源码 为了从本质上理解String类型的特性所在,我们从String类型的源码看起,在源码中String类的注释中存在以下: /**Strings are con ...

  8. 浅谈Cordova框架的一些理解

    前言 因为工作原因,最近需要研究Cordova框架,看了其中的源码和实现方式,当场在看的时候马上能理解,但是事后再回去看相关源码时候却发现之前理解的内容又忘记了,又不得不重新开始看,所以总觉得需要记录 ...

  9. 用awk写递归

    看到自己很多年前写的一篇帖子,觉得有些意义,转录过来,稍加修改. awk是一种脚本语言,语法接近C语言,我比较喜欢用,gawk甚至可以支持tcp/ip,用起来非常方便. awk也支持递归,只是awk不 ...

  10. [LeetCode] Friend Circles 朋友圈

    There are N students in a class. Some of them are friends, while some are not. Their friendship is t ...