Kevin Kao
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    2
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # 數位網頁設計 僑光科技大學 資訊科技系 2018/09/17 ~ 2019/01/19 授課老師:高吉隆 電子信箱:[kevinkao888@gmail.com](mailto://kevinkao888@gmail.com) --- ## 課程大綱 * 跨平台網頁程式設計原則 * HTML5基本語法與常用元素 * CSS3基本語法與常用屬性 * Bootstrap3網格及元件使用 * Javascript快速入門 * RWD響應式網頁練習與實作 ---- ### 每週上課目標 * 前 9 週上課目標(觀念講解、線上測驗) * 後 9 週上課目標(分組練習、專題報告) ---- |週| 上課日期 | 前 9 週上課目標 | 備註 |:-:|:----------:| --------------- |:--: | 1 | 107/09/20 | 課程設計與簡介 | | 2 | 107/09/27 | HTML 語法與常用元素 | | 3 | 107/10/04 | CSS 基本語法 | | 4 | 107/10/11 | CSS 常用屬性 | | 5 | 107/10/18 | CSS 字型、排版 | 小考一 | 6 | 107/10/25 | Bootstrap 網格系統 | | 7 | 107/11/01 | Bootstrap 元件使用 | | 8 | 107/11/08 | Javascript 快速入門 | 小考二 | 9 | 107/11/15 | 期中考 |30% ---- | 週 | 上課日期 | 後 9 週上課目標 | 備註 |:--:|:----------:| --------------- |:--: | 10 | 107/11/22 | 案例解說與練習一 | | 11 | 107/11/29 | 案例解說與練習二 |小考三 | 12 | 107/12/06 | 案例解說與練習三 | | 13 | 107/12/13 | 期末專題說明 | | 14 | 107/12/20 | 專題實作:上機 |進度報告 | 15 | 107/12/27 | 專題實作:上機 | | 16 | 108/01/03 | 專題實作:上機 | | 17 | 108/01/10 | 期末專題成果展示 |30% | 18 | 108/01/17 | 期末專題成果展示 | ---- ### 課程評分方式 * 平時成績:40% (上課互動+三次小考) * 上課互動:10% * 第一次小考:10% (107/10/18) HTML * 第二次小考:10% (107/11/08) CSS、BS * 第三次小考:10% (107/11/29) JS * 期中成績:30% (期中考試) * 考試範圍:HTML、CSS、BS * 期末成績:30% (期末報告) * 專題製作:上台報告、PPT簡報 ---- #### 日資科二忠 - 第一次小考 ![](https://i.imgur.com/EafTkmC.png) ---- #### 日資科二孝 - 第一次小考 ![](https://i.imgur.com/zkyJvsV.png) ---- #### 日資科二忠 - 第二次小考 * 加分:20、加分後平均:69 ![](https://i.imgur.com/ZZkpLeU.png) ---- #### 日資科二孝 - 第二次小考 * 加分:20、加分後平均:73 ![](https://i.imgur.com/PA7T0K6.png) ---- #### 日資科二忠 - 期中考 * 加分:10、加分後平均:73 ![](https://i.imgur.com/xQkWf3C.png) ---- #### 日資科二孝 - 期中考 * 加分:10、加分後平均:77 ![](https://i.imgur.com/9FgeW71.png) ---- ### 使用教科書 * 書名:一步到位!RWD 網頁程式設計 * 出版社:旗標 * 作者:陳惠貞 ![](https://im2.book.com.tw/image/getImage?i=https://www.books.com.tw/img/001/077/29/0010772966_bc_01.jpg&v=5a2531fd&w=355&h=409) ---- ### 網路資源 * 網站:W3Schools * 網址:[https://www.w3schools.com/](https://www.w3schools.com/) * 主題:HTML、CSS、Bootstrap、Icons、Javascript --- ## 跨平台網頁簡介 * 行動上網對網頁設計的影響 * 手機無法方便瀏覽 * 開發適用於不同裝置的網頁 * 桌上型電腦、平板、手機 * 網站建置流程 * 以RWD工具建置單一版本網頁 * 響應式網頁的設計考量 * 以不同的螢幕寬度顯示不同版面 ---- ### 為什麼要做RWD響應式網頁? ![](https://www.ibest.com.tw/service/images/responsive/responsive_design_2.jpg) ---- ### 行動上網對網頁設計的影響 * 螢幕較小 * 應維持視覺上字體大小 * 執行速度慢 * 不宜放Flash等動畫 * 上網頻寬較小 * 不宜放大檔案圖片 * 操作方式不同 * 應考慮手機划動操作 * 切換手機版本 * 應自動切換,而不是各自網址 ---- ### 響應式網頁設計 (RWD, Responsive Web Design) * 響應式網頁設計的優點 * 網頁內容只有一個 * 網址只有一個 * 網址應隨螢幕大小自動切換 * 維護成本較低 * 有現成免費工具如BootStrap ---- #### RWD 的版面規劃設計 ![](http://www.iok.com.tw/uploads/5/2/4/5/52456105/web-design-g_orig.png) ---- #### 響應式網頁設計的缺點 * 舊版的瀏覽器不支援 * 客戶需更新瀏覽器版本 * 開發時需同時考量不同螢幕大小之情形 * 依不同螢幕大小規劃顯示方式 * 無法客製化發揮裝置的特點 * 無法針對某裝置重新版面規劃 --- ### 響應式網頁設計的主要技術 * 媒體查詢(media query) * 依螢幕寬度自動切換顯示內容 * 流動圖片(fluid image) * 可將圖片以漂移方式顯示 * 流動網格(fluid grid) * 可使用RWD表格顯示重覆清單 ---- ### 媒體查詢(Media Query) #### RWD網頁設計裝置中斷點 ![](http://image.slidesharecdn.com/responsivewebdesignworkshopantoniodepasquale-140416133209-phpapp02/95/responsive-webdesign-38-638.jpg?cb=1397675450) ---- #### 網頁內容就如同水,裝置就像是容器 ![](https://www.vervesearch.com/wp-content/uploads/2014/10/blog-01-01.jpg) ---- #### 傳統網站設計 vs RWD網站設計 ![](https://www.ibest.tw/images/25/01.jpg =800x600) ---- #### 做網頁前先參考現行代表性網站 * [ASUS](https://www.asus.com/tw/) * [ACER](https://www.acer.com/ac/zh/TW/content/home) * [HP](http://www8.hp.com/tw/zh/home.html) * [EPSON](https://www.epson.com.tw/) * [APPLE](https://www.apple.com/tw/) * [SONY](http://www.sony-xperia.com.tw/) --- ### 網站建置流程 1. 網站架構規劃 * 主機:Windows/Linux * 程式:PHP/ASP/.Net/Node.js 3. 網頁製作與測試 * 設計:含風格、版面、程式、後台等 5. 網站的上線與推廣 * 網域申請:[網路中文](https://www.net-chinese.com.tw/nc/) * 網站行銷:SEO/FB/Line 7. 網頁的更新與維護 * 後台更新:用戶帳密登入 * 程式修改:增加功能 ---- #### 網站架構規劃 1. 分析需求 * 依功能建立清單、流程圖 3. 提供網站規劃書 * 包括系統架構、功能簡述、工作人員 5. 提供功能報價單 * 依功能規模報價、含時程安排 7. 簽訂合約 * 簽約(30%)、交付(30%)、測試驗收(40%) 9. 專案執行 * 專案負責人與客戶窗口共同追蹤 ---- #### 網頁製作與測試 1. 網站視覺設計:選擇風格 2. 版面配置規劃:看板、選單、表頭、內文、表尾 3. 界面版型設計:用色、圖片、效果、字型、尺寸 4. 前端程式設計:樣版規劃、動態資料庫擷取 5. 後端程式設計:後台資料庫自行更新 6. 網頁品質測試:穩定性測試、輸入測試資料 7. 客戶線上驗收:測試版本操作、問題回饋、修改 ---- #### 網站的上線與推廣 1. 申請獨立網址 * 域名申請:需付每年費用約800元 3. 申請網站空間 * 依架構、空間、速度等規格報價 * 參考主機商:[遠振資訊](https://host.com.tw/) 5. 檔案上傳建置 * 透過主機控制台設定:如資訊庫建立 * 透過ftp上傳網頁:所有檔案 7. 登錄與行銷網站 * 申請關鍵字廣告、FB社團或Line群組 ---- #### 網頁的更新與維護 1. 不定期更新網頁內容 * 包括功能修改、錯誤修正 3. 資料庫維護與主機備份 * 刪除多餘資料、定期資料備份 5. 定期處理訂單 * 線上訂單處理、不定期公告訊息 7. 處理客服郵件 * 問題諮詢回覆 ---- #### 網頁編輯工具 1. NotePad++ * 編寫網頁原始碼含HTML、CSS、JS、PHP 3. Google Chrome * 使用開發人員工具測試與除錯 4. XAMPP * 含Apache、MySQL、PHP 5. Pingendo/Mobirise * BootStrap網頁製作工具軟體 --- ### 響應式網頁的設計考量 1. 網站的架構不要太多層:建議是二層 2. 使用者介面以簡明扼要為原測 3. 網頁的檔案愈小愈好:建議以CSS來設定背景 4. 提供設計良好的導覽列:二層選單 5. 必需在行動裝置做測試:改變視窅大小測試 ---- #### 網頁設計要學哪些相關程式語言? 1. HTML:HyperText Markup Language 2. CSS:Cascading Style Sheets 3. 瀏覽器端Script:JavaScript 4. 伺服器端Script:PHP、ASP/ASP.Net、JSP、CGI ---- #### 開始撰寫HTML網頁 * HTML包含DOCTYPE、HTML、HEAD、BODY ``` HTML= <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>我的第一個 HTML 網頁</title> </head> <body> <h1>Hello, world!</h1> </body> </html> ``` ---- #### HTML的組成 * 元素(Element) * 標籤(Tag):Start tag / End tag * 屬性(Attribute) * 值(Value) * 內容(Content) ![](https://i0.wp.com/tutoriallab.net/wp-content/uploads/2016/01/2000px-HTML_element_structure.svg_.png?fit=600%2C300&ssl=1) ---- 1. DOCTYPE:HTML5規定網頁第一行必須是<!DOCTYPE html> 2. html:網頁樹枝狀結構的根元素是<html> 3. head:標示網頁的標頭 4. meta:標示網頁的編碼方式 5. title:瀏覽器的標籤文字 6. body:標示網頁的主體 7. h1:網頁內容的標題格式其中的1種 ---- #### 網頁UI(User Interface)的設計原則 * 頁首:Logo、Sitemap、Menu、Icon Link * 導覽列:Menu * 內容區:網頁主要呈現內容的地方 * 主視覺宣傳區:Carousel(輪流播放) * 內容區:2-4欄式呈現 * 頁尾:SiteName、Contact、Coryright、Sitemap、Icon Link ---- #### 網頁設計的風格 * 長型式風格(One-Page):[Top-Menu](https://blackrockdigital.github.io/startbootstrap-resume/)、[Left-Menu](https://blackrockdigital.github.io/startbootstrap-resume/) * 色塊式風格:[Blockly Style](https://www.npm.gov.tw/) * 磚牆式風格:[Blockly Style](https://carriecousins.contently.com/) * 全版面風格 --- ## HTML5 語法與常用元素 * 請參考線上教學網站:[W3Schools : www.w3schools.com](https://www.w3schools.com/) * HTML:HTML5 / XML * CSS:CSS3 / W3.CSS * BOOTSTRAP:BS3 / BS4 * Client Side Script:JavaScript / JQuery * Server Side Script:PHP / ASP / SQL / Node.js * SQL:My SQL / MangoDB / SQL Server * GRAPHICS / ICONS ---- ### W3Schools學習重點 * 運用現成的On-Line Bible做全盤瀏覽的學習 * 需要整理好的Reference做隨時查詢的工具 * 使用上面的練習題目來熟練重點概念 * 實作線上的考題來驗證對概念的記憶程度 ---- ### HTML頁面結構 ![](https://i.imgur.com/G2zDD7j.png) ---- ### 第一次小考測驗 10% * 2018/10/11 上課第2節課測驗 * 範圍:HTML --- ## CSS的語法介紹 * 選擇器(Selector):設定符合以下樣式之條件 * 大括弧({}):包括所有屬性之設定區塊 * 分號(;):分隔二個屬性之間的分隔符號 * 冒號(:):同一個屬性分隔屬性名稱和屬性值 * 屬性(Property):定義該屬性之名稱 * 屬性值(Value):定義該屬性之值 ![](https://i.imgur.com/zi4KKun.png) ---- ### Content Colors * 使用顏色名稱:如red,HTML支援[140種](https://www.w3schools.com/colors/colors_names.asp) * 使用RGB值:如rgb(255,0,0),[(紅、綠、藍)](https://www.w3schools.com/colors/colors_rgb.asp) * 使用HEX值:如#ff0000,[(紅、綠、藍)](https://www.w3schools.com/colors/colors_hexadecimal.asp) * 使用HSL值:如hsl(0,1,0.5)[(色調、飽合、亮度)](https://www.w3schools.com/colors/colors_hsl.asp) * 使用RGBA值:如rgba(255,0,0,0.5),A為透明度 * 使用HSLA值:如hsl(0,100%,50%,50%) * 選定顏色請參考:[W3Schools Color Picker](https://www.w3schools.com/colors/colors_picker.asp) ---- ### Content Borders * border-style:solid, dashed, dotted, double, etc * border-width:5px, 1em, thin, medium, thick, etc * border(Individual Sides):(順時針) * four values:top, right, bottom, and left * three values:top, left-right and bottom * two values:top-bottom and left-right * one value:all-sides * border-radius:5px(圓角半徑) * 案例請參考:[W3Schools CSS Borders](https://www.w3schools.com/css/css_border.asp) ---- ### Box Model * 內容(Content):放置文字或圖片的區塊 * 間隔(Padding):內容外圍與框線之間 * 框線(Border):環繞在內容之外圍 * 邊界(Margin):框線之外,與其他元件的間隔 * 範例請參考:[W3Schools Box Model](https://www.w3schools.com/css/tryit.asp?filename=trycss_boxmodel) ![](https://i.imgur.com/Vp6X6nG.png =500x300) ---- ### Text Styles:文字排版控制 * text-align(對齊):center, left, right and justify * text-decoration(去除底線):none, underline, etc * text-transform(大小寫轉換):uppercase, capitalize * text-indent(縮排大小):50px, 2em, etc * letter-spacing(字母間隔):3px and -3px * word-spacing(單字間隔):50px, 2em, etc * line-height(列高):1.0 and 1.8 * text-shadow(字陰影):3px 2px red * 案例請參考:[W3Schools CSS Text](https://www.w3schools.com/css/css_text.asp) ---- ### Text Fonts:文字字型控制 * font-family(字型):"Times New Roman", Times * font-style(樣式):normal, italic * font-size(字大小): * px(像素):8px, 16px, 24px * em(16px的倍率):0.5em, 1em, 1.5em * %(body字大小的倍率):50%, 100%, 150% * vw(相對於設備大小):10vw, 20vw * font-weight(粗細):normal, bold * font-variant:small-caps(轉換成大寫) * 案例請參考:[W3Schools CSS Fonts](https://www.w3schools.com/css/css_font.asp) ---- ### Font Awesome:請參考 [W3Schools FA](https://www.w3schools.com/icons/fontawesome_icons_intro.asp) ```xml <i class="fa fa-car fa-2x" sytle="color:red"> ``` * fa-種類:fa-car, refresh, fa-spinner, etc * fa-倍率:fa-2x, fa-3x, fa-4x, fa-lg * fa-spin(旋轉):fa-spinner fa-spin * fa-pulse(8角度轉換):fa-spinner fa-pulse * fa-rotate-旋轉角度:fa-rotate-90 * fa-flip-翻轉方向:fa-flip-horizontal * fa-stack(多個重疊):如將二個重疊 ```xml <span class="fa-stack fa-lg"> <i class="fa fa-circle-thin fa-stack-2x"></i> <i class="fa fa-twitter fa-stack-1x"></i> </span> ``` ![](https://i.imgur.com/2YDPJaQ.png) ---- ### Hyper Links:網址連結設定 * 可依目前狀態,設定不同樣式 * a:link:一般正常,未瀏覽過的連結 * a:visited:已瀏覽過的連結 * a:hover:當滑鼠移至上面的連結 * a:active:當此連結正在被按下的狀態 * 請參考:[W3Schools CSS Link](https://www.w3schools.com/css/tryit.asp?filename=trycss_link) ---- ### List Items:列表項目設定 * list-style-type(符號種類) * 無編號清單ul:circle, square * 有編號清單ol:upper-roman, lower-alpha * list-style-image(自訂圖像):url('filename.gif') * list-style-position(符號位置):inside, outside * list-style(簡易合併寫法):square,inside, url('filename.gif') * 請參考:[W3Schools CSS List](https://www.w3schools.com/css/tryit.asp?filename=trycss_list-style) ---- ### Element Display:元素顯示控制 * display: none(隱藏):不顯示 * display: inline:在同一行顯示,維持原高度 * display: block:此元素單獨一段落顯示 * display: inline-bock:在同一行顯示,可增加高度 * 請參考:[W3Schools CSS Display](https://www.w3schools.com/cssref/tryit.asp?filename=trycss_display) ---- ### Element Position:元素位置控制 * position: static:不受top/bottom/left/right作用 * position: relative:接受top/bottom/left/right作用 * position: fixed:以顯示區為基準設定固定位置 * position: absolute:以上層元件為基準設定固定位置 * 請參考:[http://zh-tw.learnlayout.com/](http://zh-tw.learnlayout.com/position.html) ---- ### Element Float:元素漂浮作用 * 元去漂浮時本身不佔據空間,像是漂在空中浮在其他元素上面 * float: right:靠右漂浮 * float: left:靠左漂浮 * float: none:無漂浮作用 * clear: right:清除靠右之漂浮作用 * clear: left:清除靠左之漂浮作用 * clear: both:清除靠左靠右之漂浮作用 * 解除漂浮後的問題,可用以下程式修正 ```xml .clearfix { overflow: auto; } ``` ---- ### CSS Selectors:CSS選擇器 * 基本型: * 元素(Element):元素名稱,如 [tag -> <tag>](https://www.w3schools.com/css/tryit.asp?filename=trycss_syntax_element) * 編號(ID):#編號名稱,如 [#tel -> id="tel"](https://www.w3schools.com/css/tryit.asp?filename=trycss_syntax_id) * 類別(Class):.類別名稱,如 [.no -> class="no"](https://www.w3schools.com/css/tryit.asp?filename=trycss_syntax_class) * 請參考以下範例 ---- CSS 選擇器:基本型範例 ![](https://i.imgur.com/nysGex2.png) ```html= <head> <style> body {color: red;} #top {color: blue;} .intro {color: green;} </style> </head> <body> <div id="top"> <p>My name is Donald.</p> <p class="intro">I live in Disney Park.</p> <p class="intro">I born in 1934.</p> </div> <p>Nice to meet you.</p> </body> ``` ---- * 綜合型: * 元素.類別:如 tag.no -> [<tag class="no">](https://www.w3schools.com/css/tryit.asp?filename=trycss_syntax_element_class) * 多個類別:如 [.no1 .no2 -> class="no1 no2"](https://www.w3schools.com/css/tryit.asp?filename=trycss_syntax_element_class2) * 多個組合:如 [tag, .no -> <tag calss="no">](https://www.w3schools.com/css/tryit.asp?filename=trycss_grouping) ---- CSS 選擇器:綜合型範例 ![](https://i.imgur.com/YeGRU2p.png) ```html= <head> <style> h1, p {color: red;} p.title {color: blue;} .live {color: green;} .born {font-size: 30px;} </style> </head> <body> <h1 class="title">My Family</h1> <div> <p class="title">My name is Donald.</p> <p class="live">I live in Disney Park.</p> <p class="live born">I born in 1934.</p> <p>Nice to meet you.</p> </div> </body> ``` ---- ### CSS Other Selectors:CSS進階型選擇器 * descendant selector(空格) * 該下面多層所有元素皆有作用 * child selector(>) * 該僅下面第一層元素有作用 * Adjacent Sibling Selector(+) * 僅同層後面相鄰有作用 * General Sibling Selector(~) * 同層後面所有元素有作用 ---- CSS 選擇器:進階型範例![](https://i.imgur.com/OBtEHgJ.png) ```html= <head> <style> div p {color: red;} div > p {color: blue;} div ~ p {color: green;} div + p {font-size: 25px;} </style> </head> <body> <div> <span><p class="title">My name is Donald.</p></span> <p>I live in Disney Park.</p> </div> <p>I born in 1934.</p> <p>Nice to meet you.</p> </body> ``` ---- ### Selector Examples:選擇器範例圖示 ![](https://www.csssolid.com/images/css-selectors-cheat-sheet.png =800x600) ---- ### CSS的位置種類 * 外部(External):另存css檔案放入head->link中 ```css= <link rel="stylesheet" type="text/css" href="mystyle.css"> ``` * 內部(Internal):直接寫在head->style中 ```css= <style> </style> ``` * 元素(Inline):直接寫在tag->style中 ```css= <h1 style="color:blue;">This is a heading</h1> ``` * 多重位置優先順序:元素->內部->外部->瀏覽器預設值 --- ## BootStrap的介紹 * 最普遍HTML CSS JavaScript Framework之一 * 免費、前端開發工具、各式元件套版 * Bootstrap CDN ```javascript= <!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.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <div> <h1 class="text-center">Hello World!</h1> <div class="row"> <div class="col-sm-4" style="background-color:lavender;">.col-sm-4</div> <div class="col-sm-4" style="background-color:lavenderblush;">.col-sm-4</div> <div class="col-sm-4" style="background-color:lavender;">.col-sm-4</div> </div> </div> </body> </html> ``` ---- #### Bootstrap 是一個 CSS Framework * 原本用 Class 的寫法如下: ```css <head> <style> .text-center {text-align: center;} </style> </head> <body> <h1 class="text-center">Hello World!</h1> </body> ``` * 使用 Bootstrap 只要寫成如下:載入共約7000行的 CSS ```css <head> <link rel="stylesheet" href="bootstrap.min.css"> </head> <body> <h1 class="text-center">Hello World!</h1> </body> ``` ---- ### Bootstrap Grid System * 讓使用者藉此開發適應不同裝置的網頁,達到響應式網頁的目的 * 每一列都切割成12個等分,依每份占的比例來分配 ![](http://www.ryanwright.me/sites/default/files/images/cookbooks/bootstrap/a1/12-grid-overlay.jpg) ---- ### Bootstrap Screen Plan * Bootstrap 針對不同的螢幕尺寸提供如下的網格選項 * 如需以768px來區分二種不同版型,可以加上類別:.col-sm.* ![](https://image.slidesharecdn.com/bootstrap-workout-2015-150124110312-conversion-gate02/95/bootstrap-workout-2015-34-638.jpg?cb=1422119092) ---- ### 第二次小考 * 範圍:CSS、Bootstrap * 成績分佈: ![](https://i.imgur.com/6l4heXl.png) --- ## JavaScript 語言 * JS能夠幫我們做什麼? * JS能夠放在什麼位置? * JS輸出的方式有哪些? * JS程式的語法、變數和註解 * JS程式的變數運算子 * JS程式的物件及陣列 * JS程式的判斷、比較和迴圈 * JS程式的函數和事件 * JS程式的型別轉換和預設函數 ---- ### JS能夠幫我們做什麼? * 可以改變HTML中TAG的內容值和屬性值 * 可以改變CSS中的Style的屬性值 ```htmlembedded <script> // 將ID為demo之元素更改內容 document.getElementById('demo').innerHTML='改變內容'; // 將ID為demo之元素更改圖片 document.getElementById('demo').src='新圖檔.gif'; </script> ``` * 可以用Style中Display屬性隱藏或顯示元素 ```htmlembedded <script> // 將ID為demo之元素隱藏 document.getElementById('demo').style.display='none'; // 將ID為demo之元素顯示 document.getElementById('demo').style.display=''; </script> ``` ---- ### JS能夠放在什麼位置? ```htmlembedded <html> <head> <script> // 可以放在 HEAD 中 </script> </head> <body> <h2>JavaScript in Head</h2> <!-- 可以放在事件屬性值中 --> <button type="button" onclick="alert('a');">按鈕</button> <script> // 可以放在 BODY 結束前 </script> <!-- 可以放在外部檔案或網址列中 --> <script src="myScript.js"></script> </body> </html> ``` ---- ### JS輸出的方式有哪些? ```htmlembedded <script> // 顯示在元素內容值中 document.getElementById("demo").innerHTML = 5 + 6; // 顯示在HTML中的內容 document.write(5 + 6); // 顯示在訊息視窗中 window.alert(5 + 6); // 顯示在瀏覽器視窗中的Console紀錄中 console.log(5 + 6); </script> ``` ---- ### JS程式的語法、變數和註解 ```htmlembedded <script> // 這是一行的註解 /* 這是多行的註解 JS是每一行命令列需用分號;隔開 JS是大小寫有區分的語言 JS是執行在瀏覽器端的語言 JS是一行一行按照順序執行 */ var a = 10; // 這是變數的宣告並設定預設值 var b, c; // 這是單行一次宣告多個變數,且無預設值 a = 10 + 20; // 這是數學運算的符號 b = 10; c = a + b; // 允許一行多個命令 window.alert('OK'); // 字串可以單引號 console.log(“OK”); // 字串可以雙引號 </script> ``` ---- ### JS程式的變數運算子 ```htmlembedded <script> var a = 10 + 20; // 這是加法,如 -(減) *(乘) /(除法) %(求餘數) a++; // 這同等於 a = a + 1; a--; // 這同等於 a = a - 1; var b = 10, c = 10; var d = b++; // 即 d = 10, b = 11 var e = ++c; // 即 e = 11, c = 11 a += 10; // 同等於 a = a + 10; 其他 - * / % 亦同 var f = 'hi' + 5; // 字串和數字相加,即 f = 'hi5'; var g = 'hi' + 5 + 5; // 以第一個字串型別來相加,即 g = 'hi55'; var h = 5 + 5 + 'hi'; // 以第一個數字型別來相加,即 h = '10hi'; var i; // 會以 undefined 來儲存 </script> ``` ---- ### JS程式的物件及陣列 ```htmlembedded <script> // 宣告 1 個物件含 4 個屬性 var man = { firstName : "孔", lastName : "夫子", age : 50, eyeColor : "紅色" }; alert(man.eyeColor); // 顯示 man 物件 的 eyeColor 屬性值 紅色 alert(man["age"]); // 顯示 man 物件 的 age 屬性 50 // 宣告一個陣列 var cars = ["學生","老師","教室"]; alert(cars[0]); // 顯示第0個元素,即學生字串 </script> ``` --- ## 案例實作 * 加上HTML的標籤 * 加上CSS的樣式 * 加上版面編排樣式 * 加上表單編排樣式 * 加上響應式網頁樣式 --- ### 案例實作一 - 加上HTML的標籤 | 加入前 | 加入後 | |:----: | :---: | | ![](https://i.imgur.com/oCRV6Ur.png) | ![](https://i.imgur.com/g4DZym5.png) | ---- #### 編輯網頁前之準備 * 網頁編輯器:NotePad++[下載點](https://notepad-plus-plus.org/repository/7.x/7.5.6/npp.7.5.6.Installer.x64.exe) * 下載範例原始檔:[加上HTML的標籤](http://www.ocu.tw/class/rwd/HTMLTag.zip) * 範例檔案內容: * index.html:加入HTML的標籤 * entry.html:欲填寫的表單網頁 * images\*.jpg:加入的圖片 * cats\*.html:連結的網頁 ---- #### 加上HTML的標籤 - 加入以下標籤內容 * TITLE:請輸入網頁標題 * META keywords:請輸入關鍵字 * META description:請輸入網頁說明 * H1~H6:請找出網頁大標題和次標題 * P:請找段落文章 * BR:段落中換行 * UL LI:請找出條列項目 * OL LI:請找出有編號之條列項目 * DL DT DD:請找出有定義之條列項目 * IMG src:請放入圖片 * A href:請加入網頁連結 * DIV, SECTION:請加入區塊 ---- #### 網頁上傳與預覽 * 執行電腦桌面上的FFFTP.exe程式 * 在主機列表中新增主機(第一次使用請先[註冊](https://webmail.ocu.edu.tw/cgi-bin/newpass)) * 站台設定名稱:RS2 * 主機名稱:rs2.ocu.edu.tw * 使用者名稱:s10515001(學號含s) * 密碼:OCU信箱的密碼 ![](https://i.imgur.com/6mUFDvu.png =600x300) --- ### 案例實作二 - 加上CSS的樣式 | 加入前 | 加入後 | |:----: | :---: | | ![](https://i.imgur.com/vfHnQKk.png) | ![](https://i.imgur.com/ejXlTIw.png) | ---- #### 編輯網頁前之準備 * 網頁編輯器:NotePad++[下載點](https://notepad-plus-plus.org/repository/7.x/7.5.6/npp.7.5.6.Installer.x64.exe) * 下載範例原始檔:[加上CSS的樣式](http://www.ocu.tw/class/rwd/CSSStyle.zip) * 範例檔案內容: * index.html:欲修改的網頁 * style.css:加入CSS的樣式 * entry.html:欲填寫的表單網頁 * images\*.jpg:加入的圖片 * cats\*.html:連結的網頁 ---- #### 案例實作二 - 加上CSS的樣式(2) * 標籤內樣式:body、a、h1 ```css= body{background-color: #fbf9cc} /*網頁背景顏色*/ a{color: #df4839} /*連結顏色*/ a:hover{color: #ff705b} /*動態連結顏色*/ h1{ color: #6fbb9a; /*標題字體顏色*/ text-align: center; /*文字對齊方向*/ font-size: 250%; /*字體大小*/ } h1 span{color: #d0e35b} /*星號顏色*/ ``` ---- #### 案例實作二 - 加上CSS的樣式(3) * 標籤內樣式:h2、dt ```css= h2{ color: #6fbb9a; /*字體顏色*/ border: #94c8b1 1px dotted; /*框線屬性*/ border-left: #d0e35b 10px solid; /*左框線屬性*/ padding: 5px 20px; /*框線內邊界屬性*/ margin-bottom: 0; /*框線外下邊界屬性*/ } dt{ font-weight: bold; /*項目標題字體粗細*/ } ``` ---- #### 案例實作二 - 加上CSS的樣式(4) * ID類樣式:id="lead" ```css= #lead{ /*引言區*/ border-top: #6fbb9a 1px dotted; /*上邊線屬性*/ border-bottom: #6fbb9a 1px dotted; /*下邊線屬性*/ padding: 15px; /*間隔屬性*/ text-align: center; /*文字對齊*/ } ``` ---- #### 案例實作二 - 加上CSS的樣式(5) * CSS類樣式:class="more" class="cat-type" ```css= .more{ /*更多介紹*/ text-align: right; } .cat-type{ /*共通資料*/ font-size: 80%; font-weight: normal; } .male{ /*公貓顏色*/ color: #2793a7; } .female{ /*母貓顏色*/ color: #df972f; } ``` --- ### 案例實作三 - 加上版面編排樣式 * 下載範例原始檔:[加上版面編排樣式](http://www.ocu.tw/class/rwd/CSSLayout.zip) | 加入前 | 加入後 | |:----: | :---: | |![](https://i.imgur.com/rFJdLPZ.png)|![](https://i.imgur.com/J3g9Yhm.png)| ---- #### 案例實作三 - 加上版面編排樣式(2) * HTML中加入: ```html= <div id="wrap"> ``` * CSS中加入: ```css= #wrap{ width: 798px; margin: 40px auto; padding: 40px 80px; border: #f6bb9e 1px solid; background-color: #ffffff; } ``` ---- #### 案例實作三 - 加上版面編排樣式(3) * HTML中加入:class="frame" ```html= <section id="subaru" class="frame"> <section id="gureko" class="frame"> <section id="nezuko" class="frame"> ``` * CSS中加入: ```css= .frame{ margin:20px 0; padding:35px 30px 30px 30px; background:url(img/bg-stripe02.png) repeat-x #fbf9cc; } ``` ---- #### 案例實作三 - 加上版面編排樣式(4) * HTML中加入:class="ph" clss="data" ```html= <img src="img/subaru.jpg" width="320" height="100" alt="小昂" class="ph"> <img src="img/gureko.jpg" width="320" height="100" alt="暮子" class="ph"> <img src="img/nezuko.jpg" width="320" height="100" alt="鼠子" class="ph"> <dl class="data"> ``` * CSS中加入: ```css= .ph{ float: left; margin-right: 30px; } .data{ float: left; width: 388px; } ``` ---- #### 案例實作三 - 加上版面編排樣式(5) * HTML中加入:class="more" ```html= <p class="more"><a href="cats/subaru.html">更多介紹→</a></p> <p class="more"><a href="cats/gureko.html">更多介紹→</a></p> <p class="more"><a href="cats/nezuko.html">更多介紹→</a></p> ``` * CSS中加入: ```css= .more{ text-align:right; background:url(img/icon-arw01.png) no-repeat right center; padding-right:15px; clear: left; } ``` --- ### 案例實作四 - 加上表單編排樣式 * 下載範例原始檔:[加上版面編排樣式](http://www.ocu.tw/class/rwd/CSSForm.zip) | 加入前 | 加入後 | |:----: | :---: | |![](https://i.imgur.com/2CjcquG.png)|![](https://i.imgur.com/3Fde8wY.png) | ---- #### 案例實作四 - 加上表單編排樣式(2) * HTML中加入: ```html= <table class="entryForm"> ``` * CSS中加入: ```css= table.entryForm{ width: 100%; border: #f6bb9e 2px solid; border-collapse: collapse; } .entryForm th, .entryForm td{ padding: 5px 10px; border: #f6bb9e 1px solid; } .entryForm th{ width: 10em; background-color: #ffeeee; text-align: left; vertical-align: top; } ``` ---- #### 案例實作四 - 加上表單編排樣式(3) * CSS中加入: ```css= .entryForm textarea{ width: 600px; height: 100px; padding: 5px; border: #ccc 1px solid; } .entryForm input[type="text"], .entryForm input[type="email"]{ width:400px; padding: 5px; border: #ccc 1px solid; } .entryForm input:focus, .entryForm textarea:focus{ background-color: #ffffee; } ``` ---- #### 案例實作四 - 加上表單編排樣式(4) * CSS中加入: ```css= label, input[type="radio"], input[type="checkbox"], input[type="reset"], input[type="submit"]{ cursor: pointer; } ``` ---- #### 案例實作四 - 加上表單編排樣式(4) * HTML中加入: ```html= <div class="btns"> <input type="reset" value="清除重填" class="btn btn-clear"> <input type="submit" value="投稿" class="btn btn-send"> </div> ``` * CSS中加入: ```css= .btns{ margin: 30px; text-align: center; } .btn { width: 100px; margin: 0 10px; padding: 10px; border: none; font-size: 16px; } .btn:hover { opacity: 0.7; } .btn:active { color: #fff; } .btn-clear { background-color: #ccc; } .btn-send { background-color: #f6bb9e; } ``` ---- #### 案例實作四 - 加上表單編排樣式(4) * HTML中加入:id="sex1" ```html= <input type="radio" name="sex" id="sex1" value="男生" checked> <label for="sex1">男生</label> <input type="radio" name="sex" id="sex2" value="女生"> <label for="sex2">女生</label> <input type="checkbox" name="like1" id="like1" value="魚"> <label for="like1">魚</label> <input type="checkbox" name="like2" id="like2" value="肉"> <label for="like2">肉</label> <input type="checkbox" name="like3" id="like3" value="牛奶"> <label for="like3">牛奶</label> <input type="checkbox" name="like4" id="like4" value="乾飼料"> <label for="like4">乾飼料</label> <input type="checkbox" name="like5" id="like5" value="貓罐頭"> <label for="like5">貓罐頭</label> <input type="checkbox" name="like6" id="like6" value="甜食"> <label for="like6">甜食</label> ``` --- ### 案例實作五 - 加上響應式網頁樣式 * 下載範例原始檔:[加上響應式網頁樣式](http://www.ocu.tw/class/rwd/CSSRWD.zip) * 下載範例完成檔:[加上響應式網頁樣式](http://www.ocu.tw/class/rwd/CSSRWD-OK.zip) | 加入前 | 加入後 | |:----: | :---: | |![](https://i.imgur.com/a9isYZw.png)|![](https://i.imgur.com/AZ8EFTy.png)| ---- #### 案例實作五 - 加上響應式網頁樣式(2) * CSS中加入: ```css= /*ALL and Smart Phone*/ .container{ max-width: 940px; padding-left: 10px; padding-right: 10px; margin: 0 auto; } .container:after{ content:""; display: block; clear:both; } .full{ margin-left: -10px; margin-right: -10px; } @media screen and (min-width:640px){ .full{ margin-left: 0; margin-right: 0; } } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(3) * CSS中加入: ```css= /*header--------------------*/ #header{ padding: 12.5%; background: url(../img/bg_header.jpg) center top no-repeat; background-size: cover; text-align: center; position: relative; } #header:before{ content: ""; display: block; width: 33.75%; height: 55.5555%; max-width: 220px; max-height: 200px; background: url(../img/bg_race.png) no-repeat; background-size: contain; position: absolute; left: 0; top: 0; } @media screen and (min-width: 640px){ #header{ padding: 80px 0; text-align: left; } }``` ---- #### 案例實作五 - 加上響應式網頁樣式(4) * CSS中加入: ```css= /*global navigation--------------------*/ #gnav{ background: #d8c7a0; } #gnav ul{ overflow: hidden; } #gnav li{ float: left; width: 25%; text-align: center; } #gnav a{ display: block; padding: 15px 0; color: #fff; text-decoration: none; font-size: 18px; } #gnav a:hover{ background: #ecdfc2; } @media screen and (min-width: 640px){ #gnav{ margin-bottom: 20px; } } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(5) * CSS中加入: ```css= /*main--------------------*/ #main{ margin-bottom: 100px; } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(6) * CSS中加入: ```css= /*Google Map--------------------*/ .map{ border: #d8c7a0 1px solid; position: relative; padding-bottom: 50%; } .map iframe{ position: absolute; left:0; top:0; width: 100%; height: 100%; } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(7) * CSS中加入: ```css= /*introduction--------------------*/ #intro{ margin-bottom: 40px; padding: 20px 10px; background: url(../img/bg_check.png); } .intro-text{ margin-bottom: 20px; font-size: 114%; } .intro-map .map{ margin-bottom: 20px; } .intro-map address{ text-align: center; font-style: normal; font-size: 12px; } .intro-map address p+p{ margin-top: 10px; } .btn-tel{ display: inline-block; width: 70%; max-width: 200px; padding: 8px 0; border-radius: 2em; background: #d8c7a0; color: #fff; text-decoration: none; font-size: 18px; } @media screen and (min-width: 640px){ #intro{ padding: 20px; overflow: hidden; } .intro-text{ width: 57.7777%; float: left; line-height: 1.8; } .intro-map{ width: 40%; float: right; } } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(8) * CSS中加入: ```css= /*Pickup Menu--------------------*/ .menu-text{ padding: 15px; text-align: center; } @media screen and (min-width: 640px){ #menu{ margin-bottom:40px; } .menu-list{ overflow: hidden; } .menu-list li{ float: left; width: 31.9148%; margin-right: 2.12765%; } .menu-list li:nth-child(3n){ margin-right: 0; } } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(9) * CSS中加入: ```css= /*info--------------------*/ #info{ margin-bottom: 20px; } .info-list dt{ clear: left; float: left; width: 7em; padding: 10px 0; border-top: #d8c7a0 1px dotted; } .info-list dd{ padding: 10px 0; border-top: #d8c7a0 1px dotted; overflow: hidden; } .info-list :first-of-type{ border-top: none; } @media screen and (min-width: 640px){ #info{ float: left; width: 48.9361%; } } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(10) * CSS中加入: ```css= /*staff--------------------*/ #staff{ margin-bottom: 40px; padding: 20px 10px; background: url(../img/bg_check.png); text-align: center; } .staff-photo{ width: 50%; margin: 0 auto 20px; } .staff-photo img{ border: #d8c7a0 5px solid; } .staff-heading{ display: inline-block; width: 60%; padding: 8px 10px; margin-bottom: 10px; border-radius: 2em; background: #d8c7a0; color: #fff; font-size: 14px; } @media screen and (min-width: 640px){ #staff{ float: right; width: 48.9361%; padding: 20px; box-sizing: border-box; } .staff-photo{ float: left; width: 35.7142%; margin-bottom: 0; } .staff-msg{ float: right; width: 59.5238%; } } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(11) * CSS中加入: ```css= /*banner--------------------*/ .banner-list{ width: 83.3333%; max-width: 300px; margin: 0 auto; } .banner-list li{ margin-bottom: 20px; box-shadow: 0 0 5px rgba(0,0,0,0.5); } .banner-list li img{ border: #fff 5px solid; box-sizing: border-box; } @media screen and (min-width: 640px){ #banner{ clear: both; } .banner-list{ width: 100%; max-width: none; text-align: left; } .banner-list li{ float: left; width: 31.9148%; margin-right: 2.1276%; } .banner-list li:nth-child(3n){ margin-right: 0; } } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(12) * CSS中加入: ```css= /*footer--------------------*/ #footer{ padding: 20px 10px; background: #d8c7a0; } .footer-photo{ width: 83.3333%; margin: 0 auto 20px; } .footer-photo img{ border: #fff 5px solid; } .footer-info-title{ width: 33.3333%; min-width: 100px; margin-bottom: 15px; } .footer-info-list{ margin-bottom: 20px; } .footer-info-list dt{ clear: left; float: left; width: 7em; margin-bottom: 10px; } .footer-info-list dd{ margin-bottom: 10px; overflow: hidden; } .sns{ margin-bottom: 15px; } .sns li{ display: inline-block; } .sns a{ display: block; padding: 10px 20px; background: #fff; color: #d8c7a0; border-radius: 5px; text-decoration: none; } .sns a:hover{ opacity: 0.7; } .pagetop{ width: 14.0625%; min-width: 45px; position: fixed; right: 10px; bottom: 10px; } @media screen and (min-width: 640px){ .footer-photo{ float: left; width: 31.9148%; margin-bottom: 20px; } .footer-info{ float: right; width: 65.9574%; margin-bottom: 20px; } .sns{ clear: both; text-align: center; } .copyright{ text-align: center; } } ``` ---- #### 案例實作五 - 加上響應式網頁樣式(13) * CSS中加入: ```css= /*Heading--------------------*/ .heading{ margin-bottom: 15px; border-bottom: #4d941a 1px solid; color: #4d941a; font-size: 20px; font-weight: normal; overflow: hidden; position: relative; } .heading .more{ float: right; display: inline-block; padding: 5px 5px 5px 10px; background: #4d941a; border-radius: 2em; color: #fff; text-decoration: none; font-size: 14px; line-height: 1; } .heading .more:hover{ opacity: 0.7; } ``` --- ## 期末報告執行方式 * 使用 Zuvio 即時互動平台:[連結](https://irs.zuvio.com.tw/) * 亦可使用手機下載APP:Zuvio學生版 * 登入方式:若已註冊過,可以直接登入 * 帳號:s105XXXXXX@ocu.edu.tw(學號有含s) * 密碼:123,登入後請直接修改密碼 * 科系:請填寫資訊科技系 * 年級:請選擇大二 * 更改密碼:為保護課程權益請一定要修改 * 設定->帳號設定->變更密碼 * 請選擇課程:跨平台網頁程式設計 * 回饋討論->討論區->期末分組報告->填寫分組名單 ---- ### 期末報告說明 * 採分組報告:2-4人為一組,請選1人為組長 * 擬定系統名稱:以小型介紹網站為優先 * 網頁系統:HTML/CSS/JavaScript等 * 系統工具:NotePad++/Pingendo/Mobirise等 * 系統功能:至少5個功能,需繪製功能組織圖 * 系統設計:版面設計、元件設計、功能測試 * 書面報告:以DOC及PPT繳交,PPT需以摘要列印 * 上台報告:每組報告5-10分鐘,依組數而定 ---- #### 期末報告說明(2) * 網站架構組織圖 ![](https://i.imgur.com/hKbeV7d.png) ---- #### 期末報告說明(3) * 網站網頁版面設計 ![](https://i.imgur.com/QOsJa2k.png) ---- #### 期末報告說明(4) * 分組人員分工範例 ![](https://i.imgur.com/tX3B8xI.png) ---- #### 期末報告說明(5) * 網頁開發工具介紹: * Pingendo:[https://pingendo.com/](https://pingendo.com/) * Mobirise:[https://mobirise.com/](https://mobirise.com/) ---- #### CC0 1.0 公眾領域貢獻宣告 * CC0特性: * 拋棄該著作依著作權法所享有之權利。 * 宣告將該著作貢獻至公眾領域。 * 你可以複製、修改、發布或展示此作品。 * 可進行商業利用,完全不需要經過許可。 * 不影響任何人的專利權或商標權。 * 不影響他人對該著作可能享有的權利。 * 免費高品質圖片網站: * https://pixabay.com/ * https://librestock.com/ * https://www.pexels.com/ ---- ### 期末報告分組名單 {%pdf https://www.ocu.tw/class/rwd/1062Final.pdf %}

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully