虽然我只是刚踏入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. hdu_A Walk Through the Forest ——迪杰特斯拉+dfs

    A Walk Through the Forest Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/ ...

  2. 红包项目总结---MVC版

    起因: 针对传统版的明显缺陷做优化.主要是提升可维护性. 效果  线上:  未发布 线下:http://10.27.5.1/svn/FED/code/hongbao/year-end   hb-fac ...

  3. 转自52 梦回凉亭的她 Java常见问题,面试题

    收集整理分享# 相关概念## 面向对象的三个特征封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象.## 多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不 ...

  4. 在Intellij Idea中使用JSTL标签库

    习惯了eclipse和myeclipse开发的我们总是依赖于系统的插件,而当我想当然的以为IntelliJ IDEA 的jstl 的使用应该和myeclispe一样,当时使用起来却到处碰壁,完全找不到 ...

  5. hibernate操作步骤(代码部分)

    1.加载hibernate的核心配置文件 2.创建SessionFactory对象 3.使用SessionFactory创建Session对象 4.开启事务(手动开启) 5.写具体逻辑crud,增删改 ...

  6. 第一次使用idea从SVN什么checkout项目,一直都是用的eclipse

    IntelliJ IDEA 14 拉取SVN maven 多模块项目 部署tomcat 详细图解!   二话不说 进入主题 我们创建空项目实际上是项目空间 进入主界面 想用svn必须先启用它 选择Su ...

  7. Bash的条件表达式求值

    Bash的条件控制允许两种类型:1)命令的成功或失败 2)逻辑表达式的真假这两种类型都可以通过退出状态($?)来检验,$?=0为真,否则为假 一.命令的成功或失败 通过查看$?值$echo $? 二. ...

  8. Java基础知识整理(一)

    Java开发环境JDK(Java编辑器.Java运行工具(JRE作用).Java文档生成工具.Java打包工具) 1.Java是严格区分大小写的.2.Java程序中一句连续的字符串不能分开在两行书写, ...

  9. Gradle学习笔记之Groovy

    [TOC] Gradle 的核心功能是由Java实现. 在这些功能之上, 有一个使用动态编程语言Groovy编写的领域特定语言(DSL). Gradle的构建脚本build.gradle和settin ...

  10. 最新的极光推送服务器端代码(java服务器后台向手机端自定义推送消息)

    一共两个类 一个Jdpush  一个JpushClientUtil 代码如下   注解都写的很清楚 package com.sm.common.ajpush; import org.slf4j.Log ...