學BootStrap最快的方式就是直接套一個模板來使用。
我們直接來套一個 Navbar
Navbar 導覽列
縮小後會有不一樣的效果
我們來直接看看這段程式碼
HTML
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link disabled">Disabled</a>
</li>
</ul>
<form class="d-flex">
<input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</div>
</nav>
噢我的天啊,這麼一篇勒勒長的code在做什麼事?
想當初我看到這段程式碼也是不知所措,面對一片都是看不懂的class代碼,
例如navbar-expand-lg
、container-fluid
、dropdown-item
、form-control
,看的是非常慌亂。讓我們先從熟悉一些bootstrap基礎開始吧,
先看看我們要用到的元件分成哪些,以及是在文件中的哪個位置,等到用到時就能方便快速查找。
至少快速瀏覽過一次心裡會比較有個底,比較曉得Bootstrap的能耐、能做到哪些事情,而不會像當初的我一樣是隻無頭蒼蠅。
這個章節是Bootstrap最重要的一個環節
在Bootstrap中,大部分的元件都需要有存放的空間或容器,
那個空間所組成的區塊稱之為Layout。
Layout是與空間、與排版相關的class。
例如:
容器(container)
: 多個元件存放在同一個區塊所需的空間
斷點(Breakpoint)
: 容器或元件在不同大小(例如在電腦超大螢幕、超小手機版面時)RWD時,欄位之間要如何切分的設定
欄位(Row、Col)
: 格線系統,看要如何將畫面切分成所要的排版
溝(Gutter)
: 欄與欄、列與列之間向外推擠的距離
這個章節存放了一個網頁要向人們傳遞訊息時會有的內容元素。
例如:
活版印刷(Typography)
: 存放各式各樣的文字排版,如標題、段落、正文等用法
圖片(Images、Figure)
: 要顯示的圖片
表(Table)
: 表格
因為表單的互動性高,且用到的元素比較多,所以自己獨立成一個區塊。
透過這些表單元件可以快速兜建出你想要的表單骨架及樣式,最後再進行微調。
例如:
表單控制元件(Form control)
: 調整表單互動時的效果,例如聚焦(focus)、禁用(disabled)、唯讀(read only)等
下拉選單(Select)
: 各種下拉式選單用法
選擇(Checks、radios)
: 複選及單選框
表單輸入組件(Input group)
: 一個表單底下的多個輸入框排列方式
這個章節是Bootstrap最肥東西最多的一章
既然名字都叫元件了,就是可以出現在網頁中任何地方的元素,只要他適合出現在那裡。
(總不可能一個導覽列放在footer、一個頁碼按鈕放在側邊廣告欄吧?)
例如:
導覽列(Navbar)
: 存放著各式連結、能快速跳轉到相關區塊的導覽列
按鈕(Buttons)
: 各式各樣不同樣式、不同顏色及長度的按鈕
卡片(Cards)
: 通常是由圖片、標題、敘述 三樣東西構成的一個區塊,例如商品、物品物件
頁碼(Pagination)
: 分頁按鈕、頁面底下的頁籤,可點選上一頁、下一頁
訊息彈跳區塊(Alerts、Toasts)
: 給使用者看的推播訊息視窗
當前層級/麵包屑(Breadcrumb)
: 麵包屑導覽,記錄介面目前所在的層級、以及可以快速切回父層的導覽
輪播器、旋轉木馬(Carousel)
: 多張圖片輪流播放的區塊
進度條(Progress)
: 能依完成比例顯示進度
元件東西實在太肥太多了,我們只先講個大概、認識有哪些元件比較常用,
之後再按照使用情境、要用到時再研究元件可以如何套用或怎麼copy即可。
Bootstrap中重要程度位居第二的章節
這裡存放著眾人從經驗中抽取出來寫成class的共用樣式集,不論哪個元件來套都可以通用,
當需要一些細微的版面調整時、不想自己刻額外的CSS class,就是用他的工具了。
例如:
背景顏色(Background)
: 幾種不同情境時的背景色
顏色(Colors)
不透明度(Opacity)
邊框(Borders)
對齊(alignment)
排版顯示方式(Display、Flex、Float)
: Display的各種變化集合體
位置(Position)
: 位置、定位的集合體
大小、尺寸(Sizing)
: 設定物件的寬、高
間距、距離、尺度(Spacing)
: 給Margin、Padding取距離用的幾種不同的尺度大小