?Bootstrap簡介:
Bootstrap來自 Twitter,是目前很受歡迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它簡潔靈活,使得 Web 開發更加快捷。它由Twitter的設計師Mark Otto和Jacob Thornton合作開發,是一個CSS/HTML框架。Bootstrap提供了優雅的HTML和CSS規范,它即是由動態CSS語言Less寫成。Bootstrap一經推出后頗受歡迎,一直是GitHub上的熱門開源項目,包括NASA的MSNBC(微軟全國廣播公司)的Breaking News都使用了該項目。國內一些移動開發者較為熟悉的框架,如WeX5前端開源框架等,也是基于Bootstrap源碼進行性能優化而來。
? ? ?Bootstray架構
基本結構:Bootstrap 提供了一個帶有網格系統、鏈接樣式、背景的基本結構。這將在Bootstrap 基本結構部分詳細講解。
CSS:Bootstrap 自帶以下特性:全局的 CSS設置、定義基本的 HTML 元素樣式、可擴展的 class,以及一個先進的網格系統。這將在Bootstrap CSS部分詳細講解。
組件:Bootstrap 包含了十幾個可重用的組件,用于創建圖像、下拉菜單、導航、警告框、彈出框等等。這將在布局組件部分詳細講解。
JavaScript 插件:Bootstrap包含了十幾個自定義的jQuery 插件。您可以直接包含所有的插件,也可以逐個包含這些插件。這將在Bootstrap插件部分詳細講解。
定制:您可以定制Bootstrap的組件、LESS 變量和jQuery 插件來得到您自己的版本。
Bootstrap整體架構圖
Bootstrap的CCS模塊化表現
Bootstray預先定義了很多CSS類,使用的時候直接給class賦予對應的類名即可,如text-left,text-align,.table等。最有代表性的就是Bootstrayn類,Bootstray定義了一個.Bootstray的基礎類,如果還想要其他樣式可以在這個基礎類上進行擴展,實現不同的視覺效果。
.btn類之所以典型在于他的樣式定義,CSS大牛和菜鳥的區別表現在三個方面,文件大小,后期維護以及hack,大牛的CSS文件都比較?。ň唧w多少為小要看項目的大?。?;后期維護容易,能快速定位,修改一個樣式需要動的地方比較少;hack使用也少。相反菜牛則會出一個龐大的文件,后期維護一團亂麻,改一個樣式需要改很多地方,hack,內聯,important滿天飛。
CSS很多值都是有相互依賴關系的,比如em,我們都知道em是相對單位,瀏覽器渲染的時候是必須明確到具體值的,因此必須進行計算。正因為這些相對單位我們才可以實現模塊化,.Bootstrayn類就是利用相對單位和字體大小之間的關系實現的,將按鈕的line-height,padding,border-radius設置為相對單位,字體大小設置為絕對單位,需要大按鈕的時候增加字體,需要小按鈕的時候減小字體,案例代碼如下:
.btn{ display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: 400; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle;}
這里的line-height會根據font-size計算出相應的值,修改font-size按鈕就會相應的變大變小,一個小小的改動就實現了視覺上的變化是不是很方便
Bootstray的CSS系統令人稱道的地方還有很多,想CSS更進一步的話可以研究下他的思路,您也可以單獨提取出來放到自己樣式庫中,以后做項目的時候可以快速使用。
?
Bootstray的JavaScript插件(交互)
Bootstray的JavaScript插件非常豐富,既可以用現成的也可以自己擴充,Bootstray提供了一個集成板的Bootstray.js您可以直接拿過來使用也可以單個使用引入*.js即可。
JS插件優秀的地方在于,哪怕是不懂JS的開發人員也可以使用,只要按照官方文檔提供的格式寫即可,比如模態框,您只要按要求設置好class,data-toggle,data-target即可,一句JS都不用寫,是不是很方便。
Bootstray的插件開發模式基本都是相似的,先定義一個類,實現主體功能,然后是個Plugin函數,再把這個函數擴展到JQuery原型上,最后通過委托的方式給特定元素綁定事件。
不足:
對IE兼容也存在不小的問題,Bootstray將所有的元素盒模型都設置成了border-box,這是IE混雜模式下的盒模型,光這點就導致了不能兼容IE。此外還用到了大量的H5標簽以及CSS3語法,這些語法標簽兼容性方面同樣存在不小的問題,當然網上存在很多兼容IE的辦法,但需要引入其他文件,有些還不小,勢必導致加載速度變慢,影響用戶體驗。
Bootstray對IE6,7的兼容性肯定不好,對IE8的支持也需要一些額外的文件。
IE8的媒體查詢需要response.js的配合才能實現
Bootstray 不支持 IE 古老的兼容模式。為了讓 IE 瀏覽器運行最新的渲染模式下,建議將此 《meta》 標簽加入到你的頁面中:
《meta http-equiv=“X-UA-Compatible” content=“IE=edge”》
按 F12 鍵打開 IE 的調試工具,就可以看到 IE 當前的渲染模式是什么。
Bootstrap框架分三類:
第一:預處理腳本
Bootstrap的源碼是基于最流行的CSS預處理腳本-Less和Sass開發的。你可以采用預編譯的CSS文件快速開發,也可以從源碼定制自己需要的樣式。例如。如果你頁面上有很多同樣的效果。只需要寫一個效果類。然后讓用到的地方去繼承他。就不需要再寫了。
第二:一個框架,多種設備
你的網站和應用能在Bootstrap的幫助下通過同一個代碼快速,有效設配手機,平板、PC設備,這都是CSS媒體查詢的功勞。
第三:特效齊全
Bootstrap提供了全面、美觀的文檔、可以找到關于HTML元素,HTML和CSS組件、jQuery插件方面的所有詳細文檔。 Bootstrap組件: Bootstrap中包含了豐富的Web組件,根據這些組件,可以快速的搭建一個漂亮、功能完備的網站。比如:下拉菜單、按鈕組、按鈕下拉菜單、導航、導航條、路徑導航、分頁、排版、縮略圖、警告對話框、進度條、媒體對象等。 JavaScript插件Bootstrap自帶了13個jQuery插件,這些插件為Bootstrap中的組件賦予了“生命”。其中包括:模式對話框、標簽頁、滾動條、彈出框等。 還有更重要的一點是,Bootstrap是完全開源的。它的代碼托管,開發,維護都依賴GITHub平臺。
bootstrap框架優點:
a) 提高開發效率。
b) 規范名稱定義,便于維護。
c) 規范項目開發流程
d)css代碼更清晰、簡單。html代碼更合理。
e) 大規模項目中可以減少用戶下載
bootstrap框架缺點:
a) 學習成本提高。你需要了解整個框架,需要閱讀框架的文檔。
b)css框架對于一個小項目等頁面來說很臃腫??蚣苤锌赡苡写蟛糠帜阌貌坏降拇a。
c)可能會無法幫助你的技術提高。太依賴框架,以至于很難排除bug。包括框架中本身就帶的bug。
d) 選擇自己需要的框架與開發框架都很痛苦。寫到后面發現越來越不靈活,越來越臃腫。
評論
查看更多