Bootstrap

Bootstrap

基本概念

Bootstrap基本上是很多CSSJavaScript (jQuery)的集合,採用Bootstrap的好處是:

引用bootstrap的方式有兩種,第一種是將相關的js檔案下載下來,並在html的<head></head>中定義使用下載的css及js檔案。

<head>

  <link rel="stylesheet" href="bootstrap.min.css"/>

  <script src="jquery.min.js"></script>

  <script src="bootstrap.min.js"></script>

</head>

第二種是使用Content Delivery Network (CDN),直接引用網路上的css及js檔案。網路上有很多CDN可以使用,如:google或微軟,如果使用maxcdn的CDN:

<head>

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>

從以上的範例可以看到bootstrap是基於jQuery之上,不過,我們並不需要去寫javascript,而是使用這些已經寫好的javascript。

基本語法

以下的範例,是一個很基本的使用範例,在一開始的<!DOCTYPE html>,就是宣告內容是以HTML5格式,另外,在meta的部份,最好也設定charset,避免中文顯示的問題。除此之外,多了view port的設定,這主要是為行動載具,在這個設定裡,設定寬度為設備的最大寬度,並且先設定螢幕放大縮小的比率為1。

如同上面的解釋,在<head></head>裡定義了bootstrap的引用方式 (利用CDN)。

在<body></body>中,設定了一個div,並將這個div的class設定為container,簡單的說就是設定<div></div>裡的內容是採用container的樣式。

<!DOCTYPE html>

<html lang="en">

<head>

  <title>Bootstrap Example</title>

  <meta charset="utf-8"/>

  <meta name="viewport" content="width=device-width, initial-scale=1"/>

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>

<body>

  

<div class="container">

  <h1>My First Bootstrap Page</h1>

  <p>吳濟聰</p> 

  <p>輔仁大學資訊管理學系助理教授</p>           

</div>


</body>

</html>

在bootstrap裡,一個頁面要有一個(或多個)container,所有的元件最好都要放在container裡,如果不把元件放在container裡,可能會有版面的零亂的狀況發生。如果有多個container,每個container必須分開,container裡不要有另一個container。另外,container有兩種,一種是佔滿全頁的container-fluid,另一種就是有固定寬度的container。在RWD的概念下,所謂的固定寬度並不是在所有螢幕畫面大小或設備上的寬度都一樣,而是在某些範圍內所使用的寬度是固定的。畫面在768 pixel以下,是佔滿個螢幕,畫面在768 pixel以上,寬度固定為750pixel,畫面在992 pixel以上,寬度固定為970pixel,畫面在1200 pixel以上,寬度固定為1170pixel。

基本元件

Bootstrap改善了一些html的基本元件,也增加了不少的元件,以前這些效果都需要自己一個一個去找別人寫好的範例,現在,bootstrap把這些都整理在一起了。

以前面在HTML裡使用過的table為例,只要在table後加上class="table",就可以套用bootstrap的table了。bootstrap的table有不同的種類,如:table-striped, table-bordered, table-hover, table-condensed,而且這些種類是可以混搭的,如以下範例:

<!DOCTYPE html>

<html>

<head>

  <meta name="viewport" content="width=device-width, initial-scale=1"/>

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>

<body>


<div class="container">

  <h2>Table</h2>


  <table class="table table-bordered table-striped">

    <tr>

      <th>Firstname</th>

      <th>Lastname</th> 

      <th>Age</th>

    </tr>

    <tr>

      <td>Jill</td>

      <td>Smith</td> 

      <td>50</td>

    </tr>

    <tr>

      <td>Eve</td>

      <td>Jackson</td> 

      <td>94</td>

    </tr>

  </table>

</div>


</body>

</html>

Grid

Bootstrap的格線系統(Grid)是用來解決不同螢幕尺寸間元件顯示的問題。基本上,在bootstrap中,是將螢幕化為12個等分,元件的寬度,就是用佔了幾等分來表示。另外,Bootstrap也預先設定了四種螢幕尺寸:xs (手機螢幕, 768 pixel以下)、sm (平板螢幕, 768 pixel以上)、md (桌上型電腦螢幕,992 pixel以上 )、lg (較大的桌上型電腦螢幕, 1200 pixel以上),可以設定在不同螢幕尺寸元件所佔的等分。例如下面的排版就是在xs下,佔6等分 (1/2),在sm下佔4等分 (1/3)。

<div class="row">

  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>

  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>

  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>

</div>

免費樣板

參考資料