序言:不管什麼工做,最好都帶上本身的思想,明悟一條清晰的行爲方針。
2019年,後端轉前端工做數月後,認爲前端開發樣式書寫太繁瑣,樣式之間的覆蓋問題也讓人頭疼,身爲一個懶人,得想辦法簡化本身的工做!
網上查看了2014年的一些css理論,如oocss/smacss。面向對象的css?感受又回到了後端老本行了。一番仔細閱讀後,值得一試!如下爲理論連接css
http://www.javashuo.com/article/p-tptoueqj-hd.html
html
又通過數月的實戰應用,已經逐漸適應了本身寫的css"框架(?)",而且也成功安利同事使用,同事用了都說好!前端
目錄結構:element-ui
首先,網上下載了一個reset.css,清理一些body邊框,設置box-sizing之類的事情bootstrap
其次,主要分爲3類:segmentfault
最後,則是element-ui的組件樣式重置,與主題切換。後端
lay-index是佈局css文件,而目前最實用的佈局天然是flex彈性佈局,還不瞭解flex的同窗請戳:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.htmlbash
lay-index作的工做則是,將複雜flex語法屬性簡化,好比我要實現縱向自適應排列:框架
<div class="flex col"> <div class="flex1" style="width:100%"> 佔據(100%-30px)*100/170的高度 </div> <div class="flex07" style="width:100%"> 佔據(100%-30px)*70/170的高度 </div> <div class="flex-none" style="height:30px"> 佔據30px的高度 </div> </div>複製代碼
若是我但願一個div內容 水平居中和垂直居中(畫重點,要考!)less
<div class="flex"> 內容居中了 </div>複製代碼
lay-indnx內其餘代碼,例如:
這裏存儲一些由項目產生的組件樣式,方便下次開發快速應用。
<div class="in-flex pro-box width">
內容居中了,我有邊框了
</div>複製代碼
在框架完善過程當中發現,逐漸添加的 單元樣式,已經能知足平常的工做須要了,惟一很差處理的是:width、height、padding、margin這樣的不定數值
爲了代碼寫起來舒暢,因而利用less的循環自增語法,來解決這個問題。
最終會獲得:
.height30,.width200,.padding5,.marginT15 這些批量產生的css
<div class="WH flex col"> <headerSub class="width flex-none paddingL30"></headerSub> <div class="width flex1 flex row padding10 pro-box"> <leftMenu :leftMenu="leftMenu" ></leftMenu> <router-view class="flex1 height"></router-view> </div> </div>複製代碼
整個css框架,是在幾個月內逐漸累積下來的,也通過了數次迭代,大概在作第三個項目時,發現框架已經沒有什麼須要新增或修改的東西了。
每次書寫頁面也比之前快了不少,也不用再記太多的css代碼,甚至都再也不須要UI出效果圖,直接對着原型寫前端。
最後,將此安利給那些在小公司獨自奮戰的前端們,但願大家用更少的時間完成工做,更多的時間學習進步
console.log(`以爲有幫助的話,點個贊吧\(^o^)/~`,huhuche);複製代碼