陳擎文教學網:Bootstrap 4
|
|||||
資源 | |||||
bootstrap 官網 |
v5.2官網英文版 | v5.1.1官網中文版 | v4官網英文版 | v4官網中文版 | |
bootstrap教學網 | bootstrap4中文教學-runoob | bootstrap4中文教學-tswe | bootstrap4中文教學hexschool | bootstrap4中文教學-twcode | |
bootstrap教學網 | bootstrap4中文教學-w3schools | bootstrap4中文教學-官網 | bootstrap4中文教學-youtube | bootstrap4中文教學-youtube | |
上課程式碼即時貼網站 | 線上黑板( Online blackboard) | 上課即時貼(guestBook) | 4月30日範例 | 有道翻譯 | |
考試題目 | 考試題目(Exam) | 畢業門檻(Graduation threshold) | 2018通識課規定 | DWCS3 | |
Goole 輸入法(Input software) | Goole輸入法(Input:exe) | Goole 輸入法(Input:zip) | online goole input(中文) | online goole input(英文) | |
Windows+Apache +MySQL+PHP整合安裝系統 |
phpstudy2014 | phpstudy2018 | XAMPP | wampserver | |
免費的網頁編輯軟體 | 微軟的vs code(visual studio code) | ||||
bootstrap 教學 |
碼雲:小馬bootstrap教學 | 小馬youtube | Bootstrap 3 與 Sass 教學youtube | ||
HTML 5 教學網站 | w3c學校-HTML 5 (中文版) | w3c學校-HTML 5 (英文版) | |||
CSS教學網站 | w3c學校-CSS 3(中文版) | w3c學校-CSS(英文版) | |||
html,CSS教學網站 | w3c學校-html,xhtml,htm5, CSS,cSS3(中文版) |
||||
jQuery-DOM | jQuery的DOM處理教學1 | jQuery的DOM處理教學2 | |||
Chp1.連續官網CDN ,或是引用下載的函數庫 | |||||
v4.0 下載點 |
http://bootstrap.hexschool.com/docs/4.0/getting-started/download/ |
||||
v3.3 下載點 |
|||||
v4.0 下載點 |
(bootstrap v4包含jquery-1.8.3.min.js,jquery-1.9.1.min.js) |
||||
v3.3 下載點 |
(bootstrap v3.3包含jquery-1.8.3.min.js,jquery-1.9.1.min.js) |
||||
v4 CDN |
<meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Optional JavaScript --> |
||||
v4 引用本地檔案 |
<meta name="viewport" content="width=device-width, initial-scale=1"> 若要使用jquery,最少版本要1.9.1(位置在哪裡都可以,有人放在footer此可以避免loading時讀取太多時間) <script src="js/jquery-1.9.1.min.js"></script> |
||||
v3.3 CDN |
<!-- Latest compiled and minified CSS --> <!-- Optional theme --> <!-- Latest compiled and minified JavaScript --> 若要使用jquery,最少版本要1.9.1-3(位置在哪裡都可以,有人放在footer此可以避免loading時讀取太多時間) <script src="http://code.jquery.com/jquery-1.9.1.min.js" integrity="sha256-wS9gmOZBqsqWxgIVgA8Y9WcQOa7PgSIX+rPA0VL2rbQ=" crossorigin="anonymous"></script> |
||||
v3 引用本地檔案 |
<link rel="stylesheet" href="css/bootstrap.min.css"> 若要使用jquery,最少版本要1.9.1(位置在哪裡都可以,有人放在footer此可以避免loading時讀取太多時間) <script src="js/jquery-1.9.1.min.js"></script> |
||||
寫ajax加上jquery函數 1.8.3版才不會有問題
|
jquery 1.8.3以前的可以處理傳回json第一個字是16字元的問題 1.php傳回json物件第一格有個特殊符號,若沒刪除,會出現error:
|
||||
最新版的jquery函數 | http://code.jquery.com/(目前版本下載) http://code.jquery.com/jquery/(歷代版本下載) 3.31版 <script src="http://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> 或是 <script src="jquery/jquery-3.3.1.min.js"></script> |
||||
Chp2. 網格系統grid system http://bootstrap.hexschool.com/docs/4.0/layout/grid/ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
1 |
|
<div class="container"> |
<div class="container"> <div class="row"> <div class="col">A1</div> <div class="col">A2</div> <div class="w-100">換行</div> <div class="col">B1</div> <div class="col">B2</div> </div> </div> |
||||||||||||||||||||||||||||||||||||||||||||||||||
2 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
3 |
對於從最小的設備到最大的設備都相同的網格,使用.col 和 .col-* |
<div class="row"> |
|||||||||||||||||||||||||||||||||||||||||||||||||||
4 |
可變寬度內容 基於欄內容的自然寬度,可使用 col-{breakpoint}-auto 調整欄的大小 |
<div class="row justify-content-md-center"> |
|||||||||||||||||||||||||||||||||||||||||||||||||||
5 |
混合和匹配 |
<!-- Stack the columns on mobile by making one full-width and the other half-width --> |
|||||||||||||||||||||||||||||||||||||||||||||||||||
6 |
row在container的 上對齊 中對齊 下對齊
|
<div class="container"> |
|||||||||||||||||||||||||||||||||||||||||||||||||||
7 |
col在row的 上對齊 中對齊 下對齊
|
<div class="container"> |
|||||||||||||||||||||||||||||||||||||||||||||||||||
8 |
row在container的 左對齊 中對齊 右對齊 散開對齊 排開兩邊對齊
|
<div class="container"> |
|||||||||||||||||||||||||||||||||||||||||||||||||||
7 |
欄的推移(x位置) |
<div class="row"> |
|||||||||||||||||||||||||||||||||||||||||||||||||||
8 |
如何把一個按鈕放到右邊 |
<button type="submit" class="btn btn-danger col-2 offset-8">送出</button>
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
Chp3. 表格 http://bootstrap.hexschool.com/docs/4.0/content/tables/ |
||
0 | 常用表格效果 條狀紋理
|
<table class="table table-striped table-bordered table-hover table-condensed"> |
1 |
|
<table class="table"> |
2 |
每一列設定顏色 (淺色) |
<tr class="table-active">...</tr> <tr class="table-primary">...</tr> |
3 |
每一欄設定顏色 (淺色) |
<tr> |
4 |
每一列設定顏色 (深色) |
<tr class="bg-primary">...</tr> |
5 |
每一欄設定顏色 (深色) |
<tr> |
6 |
響應式表格 |
<div class="table-responsive"> |
5 |
適應各種規格的響應式表格 |
<div class="table-responsive-sm"> <div class="table-responsive-md"> <div class="table-responsive-lg"> <div class="table-responsive-xl">
|
6 |
表格欄位的寬度設定 w-100
|
<tr> |
Chp4. 表單(按鈕,輸入文字...) | |||||
練習範例 | 4-1傳回主機,計算加法(txt顯示) | 4-2傳回主機,計算加法(原html顯示) | 4-3主機計算加法(一個網頁傳給自己) | 4-4使用網頁網址傳遞參數計算加法 | |
1 | 按鈕靠右 |
<button type='button' onClick='javascript:location.href="exp13-11a.php"' class='btn btn-danger float-right'>新增留言</button> | |||
2 | 一組(輸入姓名及textbox) |
<div class="form-group">
|
|||
3 | 兩組輸入姓名及textbox+按鈕 |
<form class="form-inline" method="post" action="exp13-7.php">
|
|||
4 | 徽章 | <span class='badge badge-success'>5個</span> | |||
5 | 卡片 | <div class="card"> <h5 class="card-header">頁首標題</h5> <div class="card-body"> <h5 class="card-title">標題</h5> <p class="card-text">內容文字</p> <a href="#" class="btn btn-primary">前往</a> </div> </div> |
|||
6 | 分頁顯示 | <nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item"><a class="page-link" href="#">上一頁</a></li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"><a class="page-link" href="#">下一頁</a></li> </ul> </nav> |
|||
5 | 分頁顯示 靠右對齊 -end -center -start |
<nav aria-label="Page navigation example"> <ul class="pagination justify-content-end"> <li class="page-item disabled"> <a class="page-link" href="#" tabindex="-1">Previous</a> </li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"> <a class="page-link" href="#">Next</a> </li> </ul> </nav> |
|||
6 | |||||
7 | |||||
8 | |||||
9 | |||||
Chp5. 通用類別(color文字,背景顏色,粗體斜體,左右對齊,垂直對齊) | |||||
練習範例 | |||||
1 | 文字顏色 class="text-danger" |
http://bootstrap.hexschool.com/docs/4.0/utilities/colors/#color <p class="text-primary">.text-primary</p> text-muted 柔和色,灰色 |
|||
2 | 背景顏色 class="bg-danger" |
<div class="p-3 mb-2 bg-primary text-white">.bg-primary</div> |
|||
3 | 超連結顏色 class="text-danger" |
<p><a href="#" class="text-primary">Primary link</a></p> text-muted 柔和色,灰色 |
|||
4 | 字體粗細和斜體 | <p class="font-weight-bold">Bold text.</p> <p class="font-weight-normal">Normal weight text.</p> <p class="font-weight-light">Light weight text.</p> <p class="font-italic">Italic text.</p> |
|||
5 | 文字內容轉大小寫 | <p class="text-lowercase">全小寫</p> <p class="text-uppercase">全大寫</p> <p class="text-capitalize">開頭大寫</p> |
|||
6 | 文本與元件對齊(左右切齊) | <p class="text-justify">Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis iudicium purus sit amet fermentum.</p> | |||
7 | 左右對齊 置中對齊 |
<p class="text-left">向左對齊</p> <p class="text-sm-left">向左對齊 SM (small) </p> |
|||
8 | 防止換行可搭配 .text-nowrap | <div class="text-nowrap" style="width: 8rem;"> 文字與前面一段,同一段落 </div> |
|||
9 | 文字超過col的部分以 .text-truncate,截掉多餘內容 改用 ... |
<!-- Block level --> <!-- Inline level --> |
|||
10 | 垂直對齊 | http://bootstrap.hexschool.com/docs/4.0/utilities/vertical-align/ <span class="align-baseline">baseline</span> |
|||
11 | 表格的垂直對齊 | <table style="height: 100px;"> <tbody> <tr> <td class="align-baseline">baseline</td> <td class="align-top">top</td> <td class="align-middle">middle</td> <td class="align-bottom">bottom</td> <td class="align-text-top">text-top</td> <td class="align-text-bottom">text-bottom</td> </tr> </tbody> </table> |
|||
12 | 設定元件寬度 class="w-25" 25% |
<div class="w-25 p-3" style="background-color: #eee;">Width 25%</div> <div class="w-50 p-3" style="background-color: #eee;">Width 50%</div> <div class="w-75 p-3" style="background-color: #eee;">Width 75%</div> <div class="w-100 p-3" style="background-color: #eee;">Width 100%</div> |
|||
6 | |||||
8 | |||||
Chp6. 排版(heaer,footer,置頂,置尾) | |||||
練習範例 | |||||
三種方法 | 方法一:Bootstrap本身就有提供置頂及置底的函數:navbar-fixed-top、navbar-fixed-bottom 方法二:只在bootstrap 3有,bootstrap4刪除了 方法三:自己建立div,設定背景顏色(header適用) 方法四:footer的css設定法 |
||||
1 | 法1:nav置頂函數 navbar-fixed-top |
<nav class="navbar fixed-top navbar-light bg-light"> |
|||
nav置底函數 navbar-fixed-bottom |
<nav class="navbar fixed-bottom navbar-light bg-light"> |
||||
nav黏頂函數 navbar-fixed-bottom |
<nav class="navbar sticky-top navbar-light bg-light"> |
||||
2 | 法2:bootstrap 3的專用header class="page-header" |
<div class="page-header"> <h1>頁面標題實例 <small>子標題</small> </h1> </div> |
|||
3 | 法3:header的css設定方法 小馬 |
<div id="header" style="background-color:royalblue;color:white;height:180px;margin-top:-20px;"> |
|||
法3:header的css設定方法
|
<style> <div class="header"> |
||||
4 | 法3:footer 單一顏色css 普通設定法 |
<style> <div class="footer"> |
|||
法3:footer
text-muted |
<style> </style> <footer class="footer"> |
||||
Chp7. 導覽列 (Navbar) | |||||
練習範例 | |||||
1 | nav置頂 navbar-fixed-top |
<nav class="navbar fixed-top navbar-light bg-light"> |
|||
nav置底 navbar-fixed-bottom |
<nav class="navbar fixed-bottom navbar-light bg-light"> |
||||
nav黏頂 navbar-fixed-bottom 有些瀏覽器不支援 |
<nav class="navbar sticky-top navbar-light bg-light"> |
||||
nav自由位置 |
<nav class="navbar navbar-light bg-light"> |
||||
主題顏色 配比方案 |
<nav class="navbar navbar-dark bg-dark"> <nav class="navbar navbar-dark bg-primary"> <nav class="navbar navbar-light" style="background-color: #e3f2fd;"> |
||||
顯示一般文字 class="navbar-text" |
<nav class="navbar navbar-light bg-light"> <span class="navbar-text"> 連線mySQL的pdo物件寫法 </span> </nav> |
||||
左邊商標名標題或圖形logo class="navbar-brand" |
<nav class="navbar navbar-light bg-light"> <a class="navbar-brand" href="#">php教學網站</a> </nav> |
||||
建立導覽元件(1) (縮成手機螢幕會變成icon) class="nav-item nav-link" |
<nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">教學網站</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavAltMarkup"> <div class="navbar-nav"> <a class="nav-item nav-link active" href="#">PHP <span class="sr-only">(current)</span></a> <a class="nav-item nav-link" href="#">智慧手機程式設計二(jqm)</a> </div> </div> </nav> |
||||
建立導覽元件(2) (縮成手機螢幕會變成icon) class="nav-link" |
<nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">教學網站</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">智慧設計程式設計jqm <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">PHP</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Bootstrap4</a> </li> </ul> </div> </nav> |
||||
建立導覽元件(3) (縮成手機螢幕會變成icon) class="dropdown-menu" |
<nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">教學網站</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavDropdown"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">PHP <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">Bootstrap4</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 舊教學網站 </a> <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> <a class="dropdown-item" href="#">智慧手機程式設計jqm</a> <a class="dropdown-item" href="#">javascript</a> <a class="dropdown-item" href="#">數位典藏</a> <a class="dropdown-item" href="#">多媒體概論</a> <a class="dropdown-item" href="#">網頁設計</a> </div> </li> </ul> </div> </nav> |
||||
Chp8. 提示條(Tooltips),彈出框(Popovers),互動視窗 (Modal) | |||||
練習範例 | 8-1彈出框(Popovers) | 8-2提示工具框(Tooltips) | 8-3.互動視窗 (Modal) | 8-4互動視窗-長內容 | |
8-5互動視窗-置中容 | |||||
1 | 彈出框(Popovers) 按了之後顯示訊息, **在button裡面設定參數 (1).data-toggle="popover" 設定為彈出訊息 (2). data-content=".."設定彈出訊息 (3).title="彈出框標題"
|
<script type="text/javascript">
<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="彈出框標題" data-content="這裡顯示彈出的訊息,彈出後不會消失,除非,再按一次">啟動彈出框</button> |
|||
2 | 彈出框(Popovers) 控制顯示訊息的方位 上下左右 **在button裡面設定參數 (1).data-placement="left" 設定彈出訊息在左
|
<script type="text/javascript">
<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="left" data-content="這裡顯示彈出的訊息,彈出後不會消失,除非,再按一次"> |
|||
3 | 彈出框(Popovers) 旁邊隨意點擊移除訊息 **在button裡面設定參數 (1).data-trigger="focus"
|
<script type="text/javascript">
<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" data-trigger="focus" title="隨意點擊移除" data-content="這裡顯示彈出的訊息,彈出後不會消失,除非,再按一次">旁邊隨意點擊移除訊息</a> |
|||
4 | 提示工具框(Tooltips) 滑鼠滑過顯示訊息, (1).data-toggle="tooltip" 設定為提示工具框 (2). data-content=".."設定彈出訊息 (3).title="彈出框標題"
|
<script type="text/javascript"> })
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="左方提Tooltip"> |
|||
5 | 互動視窗 (Modal) 出現小視窗,按關閉才會消失
(1).data-toggle="modal" 設定為提示工具框 (2).data-target="#exampleModal"設定要顯示視窗的id (3).class="modal fade",將從頁面頂部向下滑動並淡入
|
<!-- Button trigger modal --> <!-- Modal --> |
|||
6 | 互動視窗 (Modal) 滾動長內容
(1).data-toggle="modal" 設定為提示工具框 (2).data-target="#exampleModal"設定要顯示視窗的id (3).class="modal fade",將從頁面頂部向下滑動並淡入
|
<!-- Button trigger modal --> <!-- Modal --> </div> |
|||
7 | 互動視窗 (Modal) 垂直置中
(1).
|
<!-- Button trigger modal --> <!-- Modal --> |
|||
5 | |||||