起步 css理论 OOCSS/SMACSS 实战心得

序言:无论什么工作,最好都带上自己的思想,明悟一条清晰的行为方针。

2019年,后端转前端工作数月后,认为前端开发样式书写太繁琐,样式之间的覆盖问题也让人头疼,身为一个懒人,得想办法简化自己的工作!

网上查看了2014年的一些css理论,如oocss/smacss。面向对象的css?感觉又回到了后端老本行了。一番仔细阅读后, 值得一试! 以下为理论链接

https://segmentfault.com/a/1190000000704006

又经过数月的实战应用,已经逐渐适应了自己写的css"框架(?)",并且也成功安利同事使用, 同事用了都说好!

目录结构:

14078400-73544f8cbed388bb.png!web

首先,网上下载了一个reset.css,清理一些body边框,设置box-sizing之类的事情

其次,主要分为3类:

lay-index 框架布局基础样式

pro-index 项目功能性的组合样式

fuc-less width/height/margin/padding等自动生成

最后,则是element-ui的组件样式重置,与主题切换。

一、lay-index核心代码之flex(less语法):

14078400-bf93a29a9726e997.png!web

lay-index是布局css文件,而目前最实用的布局自然是 flex弹性布局 ,还不了解flex的同学请戳: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

lay-index做的工作则是,将复杂flex语法属性简化,比如我要实现纵向自适应排列:

          占据(100%-30px)*100/170的高度                        占据(100%-30px)*70/170的高度                    占据30px的高度    复制代码

如果我希望一个div内容 水平居中和 垂直居中 (画重点,要考!)

  内容居中了复制代码

lay-indnx内其他代码,例如:

14078400-dd7b1ceb0bf0d850.png!web
14078400-a689b0b2eae6527c.png!web

二、pro-index里的核心代码

14078400-31a5814a40ac0ecb.png!web

这里存储一些由项目产生的组件样式,方便下次开发快速应用。

  内容居中了,我有边框了复制代码

三、fuc-less里的核心代码

在框架完善过程中发现,逐渐添加的 单元样式,已经能满足日常的工作需要了,唯一不好处理的是:width、height、padding、margin这样的不定数值

为了代码写起来舒畅,于是利用less的循环自增语法,来解决这个问题。

14078400-5a5d78edc88a7688.png!web

最终会得到:

.height30,.width200,.padding5,.marginT15 这些批量产生的css

以下为最终代码:

整个css框架,是在几个月内逐渐累积下来的,也经过了数次迭代,大概在做第三个项目时,发现框架已经没有什么需要新增或修改的东西了。

每次书写页面也比以前快了很多,也不用再记太多的css代码,甚至都不再需要UI出效果图,直接对着原型写前端。

我也仔细思考了下,为什么oocss并没有流行起来:

市面上有适应面更广,能直接使用的,诸如 bootstrap这样的框架

oocss需要前端开发人员带着自己的想法,去推演一段时间才能成行

最终成型的结果,带有浓郁的个人风格,其它人不一定能完全适应

属于奇技淫巧,会忽视掉代码基础(长期简写,一些样式的完整写法我也忘了)

我又认真的考虑了下,我为什么要继续用这个框架:

  概因:天下武功,无坚不摧,唯快不破

最后,将此安利给那些在小公司独自奋战的前端们,希望你们用更少的时间完成工作,更多的时间学习进步

console.log(`觉得有帮助的话,点个赞吧\(^o^)/~`,huhuche);复制代码

转载于:https://www.jianshu.com/p/9f07afd7a2d5

猜你喜欢

转载自blog.csdn.net/weixin_34240657/article/details/91206317
今日推荐