标准化css属性顺序
前言
对于css文件而言,选择器的写法有它的讲究,如——
1> 不要用ID选择器
2> 不要用通配符*选择器
3> 选择器的层级
......
对于属性值的写法也有他的讲究,如——
1> 复合属性,如font、background、margin、padding等
2> 颜色、单位、hack、css3属性等
......
大家往往忽略一点,便是属性的书写顺序。
来自http://mdo.github.io/code-guide/,它所提倡的css属性顺序如下——
1> Positioning - 定位属性
2> Box-model - 盒模型属性
3> Typography - 排版属性
4> Visual - 视觉属性
5> Misc - 其他属性
具体的顺序,参见https://github.com/twitter/recess/blob/master/lib/lint/strict-property-order.js
使用recess实现css属性顺序重置
官网:http://twitter.github.io/recess/,依赖于node及npm。
举一个例子,test.css中——
.test {
color: green;
float: left;
}
color是排版属性,float是盒模型属性,float应该在前。我们用recess检测,会看到——

它会告诉你正确的属性应该是什么。它的判定标准,严格按照https://github.com/twitter/recess/blob/master/lib/lint/strict-property-order.js而来。
当然,你也可以关掉这个功能,但不提倡,个人认为recess里面最大的魅力就在于能够检测属性顺序。

OK,我们向前一步,现在呢,我不想进行语法检测,我直接将这个test.css文件,编译之后,输出我期望的属性顺序的css文件(我这里命名为test-product.css)。那么键入如下命令——
recess [path to old file] --compile > [path to new file]
对应的结果——

.test {
float: left;
color: green;
}
其他
当然,recess能做的事情不止于此,它的详细介绍,可以看看http://www.sitepoint.com/optimizing-css-stylesheets-recess/,如对less编译的支持,压缩,jslint检测规则的添加等,都还不错。
总之,对于css属性顺序的编写,大家不必在开发的过程当中进行留意,可以在一键部署的环节中去做。从而提高样式的解析效率。
当然,你也可以通过更改里面的源码来得到你所需要的样式规则。再当然,主要是学习里面的设计思想,自己开发去满足自己的需求。
标准化css属性顺序的更多相关文章
- 前端开发--css属性书写顺序
css属性顺序是css良好编码风格的一部分,有助于提高代码可读性,便于发现代码问题,有利于团队合作.(依次排后) example { /*显示属性*/ display: ; visibility: ; ...
- css属性编写顺序+mysql基本操作+html细节(个人笔记)
css属性编写顺序: 影响文档流的属性(比如:display, position, float, clear, visibility, table-layout等) 自身盒模型的属性(比如:width ...
- HTML编码规则、CSS属性声明顺序--简介
From AmazeUI:http://amazeui.org/getting-started/html-css-guide HTML 属性顺序 HTML 属性应当按照以下给出的顺序依次排列,确保代码 ...
- Mozilla推荐的CSS属性书写顺序及命名规则
传说中的Mozilla推荐 /* mozilla.org Base Styles * maintained by fantasai */ /* Suggested order: * display * ...
- CSS属性书写顺序及命名规则
/* mozilla.org Base Styles * maintained by fantasai */ /* Suggested order: * display * list-style * ...
- 一篇通俗易懂的CSS层叠顺序与层叠上下文研究
网上有很多这方面的教程,但不是苦涩难懂就是从哪copy过来的,反正很长一段时间我是没看懂,时间长了也没打算去研究了,主要原因是,基本上很少会遇到那些问题(所以说啊,要是没有研究精神的才懒得管它).但自 ...
- CSS书写顺序
CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, margin, padding)3. ...
- CSS 属性 - position讲解
postion 属性定义了一个元素在页面布局中的位置以及对周围元素的影响.该属性共有5个值: 1. position: static2. position: inherit3. position: r ...
- CSS属性(常用的属性)
CSS属性(常用的属性)http://www.w3school.com.cn/cssref/index.asp 一:文本与字体属性 1.字体属性 (1):font-size:字体的大小(例如:font ...
随机推荐
- Ext comboBox的remote和local的区别
remote模式下不能使用模糊查询的功能 而local模式下可以实现模糊查询的功能 如果非要实现模糊查询的功能,最好就是提前把数据查询出来,缓存到本地,然后再用local模式 且,改个属性,改成可编辑 ...
- Swift开发学习-02 变量和常量
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用,并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作, ...
- tmux下的滚屏
先Ctrl+b进入tmux的操作模式,然后用PageUp和PageDown,
- windows2003安全加固脚本
@echo off title= Windwos/index.html' target='_blank'>Windows Security echo. echo **************** ...
- linux 软件安装
A:RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装,如果在命令行模式 ...
- Socket 学习入门
http://www.codeproject.com/Articles/13071/Programming-Windows-TCP-Sockets-in-C-for-the-Begin
- Log4Net日志记录两种方式
简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. log4net是Ap ...
- 构建seajs业务模块之grunt VS spm build
在最开始,我并不知道grunt可以构建CMD模块.(以下spm指代spm build) 当时正困惑于如何用spm方便的构建业务模块,后来看到@twinstony (感谢@twinstony的分享)使用 ...
- <转载>NPOI Excel 单元格背景颜色对照表
我转载地址:http://www.holdcode.com/web/details/117 NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 ...
- Spring AOP使用整理:使用@AspectJ风格的切面声明
要启用基于@AspectJ风格的切面声明,需要进行以下的配置: <!-- 启用@AspectJ风格的切面声明 --> <aop:aspectj-autoproxy proxy-tar ...