如下圖,在你的button 中加入bootstrap的class: btn btn-primary,就可以將默認的button(左邊)變成右邊的樣式。
可如果我們想應用自己的樣式呢?比如我們想要擁有圓角的button。
通常,我們可以直接覆蓋bootstrap的樣式。
我們在自己的項目目錄下新建my-custom.css文件,加入如下代碼:
.btn { -webkit-border-radius: 20px; -moz-border-radius: 20px; border-radius: 20px; }將my-custom.css文件引用放到bootstrap.css文件后面,我們定義的btn樣式就會覆蓋原有的樣式(注:這里的‘覆蓋’指的是增量疊加式的覆蓋)。
<link rel="stylesheet" href="boostrap.css"> <link rel="stylesheet" href="my-custom.css">但這種方法有它的優(yōu)缺點,
我們可以使用官方的 構建器 ,你可以對bootstrap中樣式變量進行自定義。如下圖所示:
bootstrap 是基于less定制的,如果你不熟悉less語法,建議到其官網(wǎng)( http://lesscss.org/ )或者中文網(wǎng)( http://less.bootcss.com/ http://www.bootcss.com/p/lesscss/ )學習一下,很簡單,了解并學會使用它用不了多長時間。
定制好你的變量后點擊download按鈕就會生成一套屬于你的bootstrap框架了。
當然,這種方法也有它的優(yōu)缺點,
優(yōu)點:相比上一種方法,它簡便了你對整體網(wǎng)站的修改。
缺點:首先你很難一開始就確定網(wǎng)站所有的樣式風格,當然你可以在確定好了后再生成一個最終版本。所以這就引入一個問題,如果你還要時不時更換你的樣式,你同樣需要找到bootstrap樣式源文件編輯,你可能還要用到第一種方法,比如我要使用圓角的帶陰影的button,光定制就不能滿足我的需求,再者,如果面對bootstrap升級的問題,你還需要重新根據(jù)你的樣式構建一個新版本的bootstrap,這樣要真的做起來,會非常的麻煩。
最后一種方法是深度定制bootstrap less
首先獲得bootstrap的 源碼 ,
打開源碼,你會發(fā)現(xiàn)Bootstrap的樣式是用 LESS 而不是CSS寫的。LESS 是一種動態(tài)樣式表語言,相比于CSS,它支持多種 優(yōu)秀特性 ,包括選擇器嵌套,創(chuàng)建變量(就像在上面生成器中使用的)。一旦寫完,你可以選擇將LESS代碼預先或在運行時編譯成 CSS。如果你喜歡 Sass,可以使用這個適用于 Sass的Bootstrap 。
在 less 文件夾中,你會看到許多按照組件來劃分的 LESS 文件。
我們打開bootstrap.less文件看看里面寫的是什么:
1 // Core variables and mixins 2 @import "variables.less"; 3 @import "mixins.less"; 4 5 // Reset and dependencies 6 @import "normalize.less"; 7 @import "print.less"; 8 @import "glyphicons.less"; 9 10 // Core CSS 11 @import "scaffolding.less"; 12 @import "type.less"; 13 @import "code.less"; 14 @import "grid.less"; 15 @import "tables.less"; 16 @import "forms.less"; 17 @import "buttons.less"; 18 19 // Components 20 @import "component-animations.less"; 21 @import "dropdowns.less"; 22 @import "button-groups.less"; 23 @import "input-groups.less"; 24 @import "navs.less"; 25 @import "navbar.less"; 26 @import "breadcrumbs.less"; 27 @import "pagination.less"; 28 @import "pager.less"; 29 @import "labels.less"; 30 @import "badges.less"; 31 @import "jumbotron.less"; 32 @import "thumbnails.less"; 33 @import "alerts.less"; 34 @import "progress-bars.less"; 35 @import "media.less"; 36 @import "list-group.less"; 37 @import "panels.less"; 38 @import "responsive-embed.less"; 39 @import "wells.less"; 40 @import "close.less"; 41 42 // Components w/ JavaScript 43 @import "modals.less"; 44 @import "tooltip.less"; 45 @import "popovers.less"; 46 @import "carousel.less"; 47 48 // Utility classes 49 @import "utilities.less"; 50 @import "responsive-utilities.less"; View Code實際上,bootstrap是通過編譯bootstrap.less這一個文件而生成整個bootstrap.css文件的。我們看到bootstrap.less的作用僅僅是引入其他文件。這樣,我們定制化的工作就好辦了。
這個是核心文件。它用來引入其他文件,最終由你來編譯它。
始終是最先引入的文件。
這兩個文件總是同時出現(xiàn),因為其他文件都依賴于它們。前一個文件包含了在生成器網(wǎng)站上使用的相同的變量。
@import "../bootstrap/less/bootstrap.less"; //這個引用到原有的bootstrap文件 @import "custom-variables.less"; @import "custom-other.less"; @import "../bootstrap/less/utilities.less"; //我們同樣要引用原生的utilities.less,因為我們要保證該文件始終最后一個被導入這時,我們只要編譯custom-bootstrap.less就可以了。
更多建議: