最近终于有心情把我的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都不需要美工关心了)
基本就这么多了, 其他的一时也想不起来,欢迎指出问题和缺点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?