1. Bootstrap作者設計它目的是什么,或者說它想解決什么問題。
以下是Bootstrap官網對Bootstrap的解釋。
1.1 Bootstrap2
簡潔、直觀、強悍的前端開發框架,讓web開發更迅速、簡單。
1.2 Bootstrap3
Bootstrap 是最受歡迎的 HTML、CSS 和 JS 框架,用於開發響應式布局、移動設備優先的 WEB 項目。
1.3 Bootstrap4
Bootstrap 是最受歡迎的 HTML、CSS 和 JS 框架,用於開發響應式布局、移動設備優先的 WEB 項目。
2x與3x的區別,3x開始默認移動端優先,也就是默認把這個網頁當作是移動端的,這樣的好處是,不過你是不是移動端我都只需要一開始寫上view就可以了。
從最初的目的來看Bootstrap主要是讓使用者可以快速的開發出一個網站來,並且同時還具備響應式的功能,從這兩點出發的話,使用Bootstrap來開發網站肯定會比較囊腫一些,因為它的主要目的是快速,自然就會集成很多的組件,但你也許並不需要,雖然我們可以手動將自己需要的代碼copy過來,但相對來說還是麻煩了些,總的來說它比較適合那些想要快速開始,並且不需要特別精確的項目。
2. 在使用bootstrap的js模塊時必須引入jquery,那么為什么它不直接集成在內部,而是讓我們自己去引入?
如果直接集成在bootstrap中,如果你項目使用的是其他版本的jquery,那么可能就會起沖突,所有干脆讓使用者自己引入。
3. 為什么偏移要根據列偏移
因為作者也不知道你要偏移多少啊。
4. 為什么boostrap可以應用不同尺寸的樣式。
因為那些col是設置在媒體查詢里面的。
5. class寫兩個還是一個好?如:
<button class="btn btn-error"></buttn>
還是
<button class="btn-error"></buttn>
起兩個的話比較直觀,但是比較麻煩,如果用一個可以使用屬性選擇器,判斷里面是否包含btn,通過這個給予基本樣式,但也有個問題是如果想在js中獲取這個元素就比較麻煩一些,細細想來如果要深挖,只寫一個還是存在着一些問題,最終考慮還是寫兩個比較好。
6. 為什么禁用樣式不直接給disabled設置而是給其他顏色class設置
這樣可能是為了單一職責,因為disabled只是為了禁用的,而且如果我們直接給disabled設置,我們也不確定什么顏色和現在的樣式匹配。
7. bootstrap為什么要給container設置左右padding然后又給row設置父margin來抵消container的padding。
也許是作者默認想留一點空隙,但如果里面有col的話,col一般會給內填充,那樣的話第一個和最后一個的間距就會比其他的大,因此這樣設計還是比較合理的。