5xRuby網頁前端設計 HTML 課堂筆記 === ###### tags: `5xRuby` `html` (上課時間:20191124) ☆ [CSScode-Amos 老師YT頻道](https://www.youtube.com/channel/UCQfjTYYrqxPg5LJmDBUesbQ) :::info :bulb: **課後線上學習資源:** - [2019年IT鐵人賽-冠軍影片](https://www.youtube.com/playlist?list=PLqivELodHt3iL9PgGHg0_EF86FwdiqCre) - [HTML網頁入門](https://www.youtube.com/playlist?list=PLqivELodHt3gCLT-qGufEO1IIuGwRE8xd) :::  (心智圖使用:Xmind) HTML 基本觀念 --- - HTML (HyperText **Markup** Language):是一種用於建立網頁的標記語言(非程式語言),常與CSS、JavaScript一起被眾多網站用於設計網頁。運用**標記**的方式將資訊結構化。 - 標記原則: 1. < > 以角括號作為標籤Tag (Start) 2. </ > 斜線作為結束 (End) 3. `<p> `為paragraph 段落的縮寫 4. 標題(Heading)以六個等級做區分 `<h1> ~ <h6>` - 一個網頁就是一個純文字的檔案。 - 一個網頁大小會隨著螢幕解析度而改變(比較不會做橫向卷軸)。 - 標籤: A. 單對(又可稱「獨立」、「自閉」) B. 成對 (Ex: <head> </head>) [一個標籤可以擁有多個屬性] ※ 以 `<p>`標籤為例,可以用「p 標籤」、「p Tag」或是「p Element」來稱之。 ☆ <!DOCTYPE> 是一個宣告而非一個標籤。你可以把它想作文件類型宣告(DTD)。 用來告知瀏覽器這個文件要用甚麼標準來解讀。 - 網頁的開始會使用<html> </html>告知一個網頁的開始(視為一份文件),而被文件所包裹的就是內容<head> </head>,稱為網頁的頁首,頁首的內容多數為附加的標記,用於提供給瀏覽器或社群網站看;主要內容(我們看得到的內容)則會使用<body> </body>。 HTML內容物概要 --- 中心主題 (Ex:網頁畫面) - 文字 * 標題 (以六個等級做區分`<h1>~<h6>`) * 內文 (`<p>`) * 清單: *項目(符號):無序清單 unordered list `<ul>` *編號(數字):有序清單ordered list `<ol>` *清單項目:list item `<li>` *定義清單:清單-definition list `<dl>` 、項目標題-definition term`<dt>`、項目描述-definition description`<dd>` * 引用`<blockquote>` (`<cite>`:出自哪裡or誰) * 粗體 ( 當該段文字上很重要時,建議使用`<strong>`來做強調,用於搜尋引擎的最佳化[描述含意],`<b>`則用於視覺上的表現[外觀描述]) * 斜體(`<em>`[描述含意] `<i>` [外觀描述]) * 超連結 `<a>` [屬性:target="_blank" 另開視窗] - 區塊 - 頁首`<header>` 頁尾`<footer>` - 導覽`<nav>` (選單 `<menu>`) - 主要的`<main>` - 主文章`<article> ` - 章節`<section> ` - 區域`<div> ` - 區段`<span> ` - 圖片: - `<img>` [屬性:src 來源、出處 / alt 替代文字] - 相對路徑: 1. src="檔名" (同一層的狀況) 2. src="[資料夾名稱]/檔名" (不同層的狀況) 3. src="/檔名" 4. src="../[資料夾名稱]/檔名" (..→代表上一層) - 絕對路徑: 1. src=" / 檔名 " / →代表從檔案的跟目錄找起 2. https:// [網址、連結] - *補充*-`<figure>`可放置多張圖片 - *補充*-`<figcaption>`元素代表了figure元素的一個標題或者說是其相關解釋。 - 影/音: - *補充*-`<video> `:影片格式 - *補充*-`<audio>`:音訊格式 - *補充*-`<source>` :希望`<audio>`和`<video>`指定多個媒體來源時就可使用`<source>`來實現,這樣就能讓瀏覽器找到適合自己的音訊檔了。 - 表單:(多數以input方式填寫資料) - 留言 `<textarea>` 用屬性cols / rows來控制寬高 - 下拉選單 `<select> / <option>` - input: - 姓名、驗證碼、帳號、地址 [type="text"(文字欄位)] - 密碼 [type="password"] - 電話 [type="tel"] - 信箱 [type="email"] - 上傳檔案 [type="file"] - 日期 [type="date"] - 時間 [type="time"] - 顏色 [type="color"] - 按鈕 [type="button"] - 送出 [type="submit"] - 重新設定 [type="reset"] - 搜尋 [type="search"] - 區間 [type="range"] 其他屬性:[min="最小值"] [max="最大值"] [step="1每隔間距"] [value="預設數值"] - 方形打勾 checkbox [type="checkbox"] - 圓形 radio button [type="radio"] *屬性[for="OOXX"] 和 [id="OOXX"] 搭配使用:點選文字[label]時可對應到該填選框[input box]。 *label包input時不可以寫for屬性;但當label 和 input拆開寫時,必須給屬性for和id值。 *type的屬性差異會顯示在虛擬鍵盤上。 - 表格 (分成三段 ─ 表頭、表身、表尾): - `<table>`:屬性[width寬度]、[border邊框] (基本的html可以讓表格顯示基本的外觀,但通常會使用CSS來解決) - `<caption>` 表格的標題(通常會出現在整個表格的最上方) - `<tr>`:表格規則:先行(row)在列(column) [table row] - `<th>`:表頭 [table head] * 加上[scope]是用來告訴瀏覽器該標籤的範圍是欄的標題還是列的標題 - `<td>`:存放資料 [table data] - `<thead>` 表頭 - `<tbody>` 表身:一個表格只有一個<tbody> - `<tfoot>` 表尾 *預設值為瀏覽器本身預設的視覺外觀設定。 *合併儲存格:colspan (column span) / rowspan (row span) 要跨幾欄or列 數字(值)就寫多少 *在表頭`<th>`中加入屬性 [scope="col"] or [scope="row"] 會讓瀏覽器較容易辨識,有助於 SEO。 - 功能(與程式相關 賦予網頁的功能) - SEO [S(搜尋)E(引擎)O(最佳化) → 只要搜尋結果排到第二頁被搜尋的次數微乎其微 網頁流程 --- - 視覺設計師(設計網頁畫面) → 切版(將視覺設計師設計的圖片轉成可以看的網頁[需要使用的工具HTML & CSS→SEO]) → 工程師 網頁編輯器-VSCode --- [編輯器下載](https://code.visualstudio.com/) ☆ 建議安裝套件及設定: 1. Live server 2. Auto Rename Tag:修改HTML/XML tag時,會自動修改相對應的標籤。 3. Fake Image Snippet Collection 4. Chinese Lorem 5. 設定→輸入emmet tab→勾選 Emmet: Trigger Expansion On Tab ※ 若要看已安裝那些套件:Extensions→...→Show Installed Extensions VSCode 快捷鍵 --- Alt + Z :切換自動換行 Ctrl + S:自動存檔 Ctrl + N:新增檔案 Ctrl + / :註解 (網頁前端看不到) Ctrl + K, M:更改文件類型 (點選視窗右下角"Plain Text"進行切換) Ctrl + Shift + P 輸入 Theme :更換顏色 (Extension 搜尋Theme也可以找到各式主題) Ctrl + Shift + P 輸入 Wrap : 1.選取"wrap with abbreviation" → 用來包裹選取的範圍 2.選取"wrap individual line with abbreviation" → 用來包裹每一行(加上*則可方別包裹每一行) Shift + Tab:縮排往左 (Tab 縮排往右) home鍵+左右鍵 / fn + 左右鍵→ 跳到最前面 點選A位置+Shift+B位置:多行選取 ! + Tab :快速建立網頁原始碼 input:c:可以快速產出 `<input type="checkbox" name="" id=""> `
×
Sign in
Email
Password
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