最近终于有心情把我的CSS重构一下。。由于这种写法的一部分是我自己琢磨出来的,带有偏好的做法。
仅供参考。如果采用后被同事取笑,老板罚款,本人概不负责。
我重构的时候,学习了一些行业标准的做法。主要思路来源于以下一些,比如Rest,Grid,Dry等等(不明含义者请自行Google)。
1,Css文件的组织。
Css文件采用按照Rest中的资源来进行组织, 比如User,那就有一个user.css,如果这个资源的比较复杂, 可以进一步分解成user_new,user_edit等等。某些共用的组件,可以再分出来,比如toolbar.css
2,根选择器使用class,其他的尽量使用原生选择器,,根选择器一般是网页Grid系统中大块结构。
这样做的最主要的原因是给class取名实在在是头痛。名字还容易冲突。取名的时候要考虑语义,其实我们只不过为了美化一下显示。采用了我这种做法的Css文件,不看Html源码, 我也能知道我正在干什么了。
3,文本标签的使用。
很多网站使用span,因为我避免使用class,那么同一层级span只能使用一次。那尽量使用<i></i><em></em><strong></strong><cite></cite>,如果是不同层级,那么多种标签组合也够用了
例如 <div class="score"><em>张三</em>购买了<strong>3个</strong>面包</div>
相对的css就是 div.score em{color:red}
a,当某个块是Grid中的基本块的时候 b,供javascript调用的时候,c,万不得已的情况下。也就是说利用原生选择器就能解决的问题,就不要用class。
5,美工只负责大括号里面的内容
比如 div.score em{color:red; font:12px}中美工只负责调整{}中的内容,程序员负责{}前的内容。由于不轻易引入class,大家比较容易沟通。
6,工作流程。
1,美工利用Grid系统做出设计图
2,设计图中的基本块的命名,用来做根选器的class名。
3,程序员将做好的html和css交给美工, css中的大括号内容程序员可以不写或者少写。
4,美工只调整css中{}的内容,直到满意为止, 如果发觉{}前的内容不合理,和程序员商量。(注意,由于不要求美工看源代码,只要求看Css, 而css中主要是原生标签,所以基本能看懂,这样不管是asp.net,jsp,php都不需要美工关心了)
基本就这么多了, 其他的一时也想不起来,欢迎指出问题和缺点。
仅供参考。如果采用后被同事取笑,老板罚款,本人概不负责。
我重构的时候,学习了一些行业标准的做法。主要思路来源于以下一些,比如Rest,Grid,Dry等等(不明含义者请自行Google)。
1,Css文件的组织。
Css文件采用按照Rest中的资源来进行组织, 比如User,那就有一个user.css,如果这个资源的比较复杂, 可以进一步分解成user_new,user_edit等等。某些共用的组件,可以再分出来,比如toolbar.css
2,根选择器使用class,其他的尽量使用原生选择器,,根选择器一般是网页Grid系统中大块结构。
例子: table.user td span{font-size:12px}
即使使用class,也带上原生标签
例子: table.user td span.user{font-size:12px}这样做的最主要的原因是给class取名实在在是头痛。名字还容易冲突。取名的时候要考虑语义,其实我们只不过为了美化一下显示。采用了我这种做法的Css文件,不看Html源码, 我也能知道我正在干什么了。
3,文本标签的使用。
很多网站使用span,因为我避免使用class,那么同一层级span只能使用一次。那尽量使用<i></i><em></em><strong></strong><cite></cite>,如果是不同层级,那么多种标签组合也够用了
例如 <div class="score"><em>张三</em>购买了<strong>3个</strong>面包</div>
相对的css就是 div.score em{color:red}
div.scroe strong{color:greeen}
块元素,要灵活运用<h1>到<h6>他们和Div是等价的。
a,当某个块是Grid中的基本块的时候 b,供javascript调用的时候,c,万不得已的情况下。也就是说利用原生选择器就能解决的问题,就不要用class。
5,美工只负责大括号里面的内容
比如 div.score em{color:red; font:12px}中美工只负责调整{}中的内容,程序员负责{}前的内容。由于不轻易引入class,大家比较容易沟通。
6,工作流程。
1,美工利用Grid系统做出设计图
2,设计图中的基本块的命名,用来做根选器的class名。
3,程序员将做好的html和css交给美工, css中的大括号内容程序员可以不写或者少写。
4,美工只调整css中{}的内容,直到满意为止, 如果发觉{}前的内容不合理,和程序员商量。(注意,由于不要求美工看源代码,只要求看Css, 而css中主要是原生标签,所以基本能看懂,这样不管是asp.net,jsp,php都不需要美工关心了)
基本就这么多了, 其他的一时也想不起来,欢迎指出问题和缺点。