從零開始實(shí)現(xiàn)前端UI框架-公有組件庫篇

導(dǎo)言

很多人都會跟我一樣想要實(shí)現(xiàn)一個屬于自己的前端UI框架,因?yàn)樵趯?shí)際開發(fā)過程中如果我們使用別人的UI框架,很多地方會出現(xiàn)使用不順暢,從而大幅度修改,最后導(dǎo)致自己完全不用別人的UI框架。當(dāng)然也有A框架效果不錯,B框架也不錯,最后兩個都引用到項(xiàng)目中,最后導(dǎo)致項(xiàng)目UI沖突。所以我也誕生了實(shí)現(xiàn)一個屬于自己的前端UI框架的想法,那么UI框架的實(shí)現(xiàn)有哪些注意事項(xiàng)呢?

UI框架

市面上比較的火的UI框架逐步成熟,大多大同小異,那么他們都有些什么值得借鑒的嗎?接下我們一一列舉一下目前比較火的UI框架,如:
基于jq的:mui,Twitterde的bootstrap等。
基于vue:餓了么的Element和MintUI,VUX等。
基于React:阿里螞蟻的Antd,Material-UI等。
基于小程序的:colorUI,weUI等
通過以上UI框架的使用與總結(jié)不難發(fā)現(xiàn)他們的相同點(diǎn),那就是模塊化,組件化,把公有組件模塊提出出來,私用組件獨(dú)立化,從而實(shí)現(xiàn)代碼精簡,業(yè)務(wù)獨(dú)立。以上我覺得比較優(yōu)秀就要數(shù)boostrap和colorUI,bootstrap屬于老資格的UI組件庫了,不僅運(yùn)用在jq,react,還實(shí)現(xiàn)了響應(yīng)式布局。ColorUI屬于新興的UI組件庫,但是它的優(yōu)點(diǎn)在于著色豐富,更加傾向于中國業(yè)務(wù),并且css獨(dú)立化完全可以運(yùn)用在vue,react,小程序等多種場景當(dāng)中。

思考&分析

那么怎么實(shí)現(xiàn)自己想要UI框架呢?
第一先給自己的UI組件框架定位吧,我的想法是實(shí)現(xiàn)一個能夠在復(fù)數(shù)上框架上運(yùn)行的UI組件,那么就要滿足css樣式鏈表獨(dú)立,功能業(yè)務(wù)獨(dú)立,體積小,邏輯清晰等特點(diǎn),還有需要考慮頁面布局采用百分比布局兼容,以及采用rem等單位,還要考慮各大瀏覽器的兼容處理,減少直接對css的編輯與重復(fù)代碼的書寫。
首先確認(rèn)公有部分,公有部分有字體大小,字體顏色,背景顏色,圓角幅度....,私用組件類又可以分為獨(dú)立組件,復(fù)合組件,業(yè)務(wù)套件等,然后每個組件獨(dú)立一個模塊可以單獨(dú)引用。關(guān)于前端UI框架其實(shí)就是整理平時開發(fā)習(xí)慣,把比較常用的東西封裝起來就成為了框架。

公有組件庫

字體大小

字體大小.png

通過分別把常用字體大小配置成為字體配置文件再也不用反復(fù)在css代碼中調(diào)試,詳細(xì)展示效果如下:
字體大小展示.png

文件地址:https://github.com/sunql0827/Baseui/blob/master/src/css/fontSize.css

字體顏色

字體顏色.png

字體顏色一般最常見的字體除了三原色,還有黑白色以外,還很多常見的顏色,我這里簡單列舉出來一些,一般UI設(shè)計(jì)中顏色不推薦完全色,怎么理解呢,比如黑色一般采用#333333,當(dāng)然還包括#666666,#999999,#cccccc都是比較常用字體顏色。

<div class="grids-item text-black">text-black</div>
<div class="grids-item text-blue">text-blue</div>
<div class="grids-item text-brown">text-brown</div>
<div class="grids-item text-cyan">text-cyan</div>
<div class="grids-item text-green">text-green</div>
<div class="grids-item text-grey">text-grey</div>
<div class="grids-item text-mauve">text-mauve</div>
<div class="grids-item text-olive">text-olive</div>
<div class="grids-item text-orange">text-orange</div>
<div class="grids-item text-pink">text-pink</div>
<div class="grids-item text-purple">text-purple</div>
<div class="grids-item text-red">text-red</div>
<div class="grids-item text-white">text-white</div>
<div class="grids-item text-yellow">text-yellow</div>

文件地址:https://github.com/sunql0827/Baseui/blob/master/src/css/fontColor.css

背景顏色

背景顏色.png

背景顏色由于中國人的喜好,在app背景色上普遍都會選擇淺色調(diào)的簡約風(fēng)格,常見的背景色顏色代碼一般有:#cccccc,#dcdcdc,#ededed,#efefef等為背景色。

文件地址:https://github.com/sunql0827/Baseui/blob/master/src/css/bgColor.css

圓角幅度

常見圓角一般分為風(fēng)格與尺寸:
風(fēng)格:圓形,半圓,左邊上下圓角,右邊上下圓角,上邊左右圓角,下邊左右圓角
尺寸:50%,5px,8px,10px,12px

.radius-circle{
    border-radius: 50%;
}
.radius-circle-topright{
    border-top-right-radius: 50%;
}
.radius-circle-topleft{
    border-top-left-radius: 50%;
}
.radius-circle-bottomright{
    border-bottom-right-radius: 50%;
}
.radius-circle-bottomleft{
    border-bottom-left-radius: 50%;
}
.radius-5{
    border-radius: 5px;
}
.radius-8{
    border-radius: 8px;
}
.radius-10{
    border-radius: 10px;
}
.radius-12{
    border-radius: 12px;
}

文件地址:https://github.com/sunql0827/Baseui/blob/master/src/css/borderRadius.css

內(nèi)外間距

內(nèi)外邊距一般常用的為1px,2px,5px,12px,20px

文件地址:https://github.com/sunql0827/Baseui/blob/master/src/css/space.css

小結(jié)

本節(jié)為公有組件第一節(jié),大概概括了常用的一些屬性,可以說基礎(chǔ)UI框架的搭建是完全沒有任何技術(shù)含量的,所以UI框架也不是什么很高大上的東西,別人可以,你也可以。雖然很多人都說重復(fù)造輪子是沒必要的,但是往往很多人都忽略這句話的前提是你擁有造這個輪子的能力,這個能力不僅僅是你知道這個怎么寫,還要有對應(yīng)的框架思維。接下來我會持續(xù)完善這套文章,包含獨(dú)立組件,復(fù)合組件,套件組件等,一步一步深入完整的UI框架是怎么搭建起來的。

完整項(xiàng)目鏈接:https://github.com/sunql0827/Baseui

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 如果說前幾個月都在苦苦尋找自己的未來,嘗試著為即將畢業(yè)的自己在離開象牙塔之前做出一點(diǎn)成績,那這個星期就是所有這些想...
    meimei閱讀 311評論 0 1
  • 3月8日,籃球巨星科比和火箭少女隊(duì)成員楊超越微博互相關(guān)注,網(wǎng)友大呼“打破次元壁,文體兩開花”“村花出口向全球了!”...
    長可愛閱讀 586評論 1 2
  • 很多時候,我都在反思自己,為什么世界和我想的不一樣呢?太難以接受了,無法掌控自己的一生,隨著別人的變化而引起自己的...
    和自己較個勁閱讀 407評論 0 0

友情鏈接更多精彩內(nèi)容