随笔 - 34, 文章 - 0, 评论 - 2162, 阅读 - 17万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

我最近使用的一种CSS的重构思路

Posted on   栖山  阅读(3149)  评论(23编辑  收藏  举报
最近终于有心情把我的CSS重构一下。。由于这种写法的一部分是我自己琢磨出来的,带有偏好的做法。
仅供参考。如果采用后被同事取笑,老板罚款,本人概不负责。

我重构的时候,学习了一些行业标准的做法。主要思路来源于以下一些,比如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是等价的。

4,使用class的情况
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都不需要美工关心了)

基本就这么多了, 其他的一时也想不起来,欢迎指出问题和缺点。
编辑推荐:
· 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,谁才是开发者新宠?
点击右上角即可分享
微信分享提示