1-1: HTML 網頁的基本結構
所謂的網頁,一般來說,就是指瀏覽器可以解析的檔案之意。常見的瀏覽器可以解析的檔案類型有:
- HTML 網頁檔 (副檔名通常為 .html)
- 純文字檔 (副檔名通常為 .txt)
- 可攜式文件格式 (副檔名通常為 .pdf)
- 圖片格式檔案 (副檔名通常為 .jpg, .png, .gif 等)
- 影像格式檔案 (副檔名通常為 .mp4, .ogg 等,最好支援 H264 格式較佳)
- 聲音格式檔案 (副檔名通常為 .mp3, .ogg, .wav, .webm 等)
除了上述的副檔名之外,其餘的檔案格式通常不被瀏覽器所理解與解析,因此當瀏覽器接觸到無法解析的檔案類型時,就會以類似『下載』的模式,提供使用者下載該檔案了。 因此網頁伺服器通常也可以作為檔案伺服器的下載之用。
html 格式檔案,可以透過一些所謂的『標記 (tag)』來將多媒體檔案嵌入到瀏覽器的畫面中, 你可以將 html 檔案想成是一個空白的畫布,而文字、色彩、影片、圖片等多媒體,則是可以放置在這個畫布上面的染料,而這些染料如何在畫布上面呈現, 那就得透過 html 的標記以及 CSS 的樣式表元素了。
換句話說,當你要製作網頁時,就得要先將這些需要的染料 (圖片、影片、文字等等媒體資料) 先準備好,然後再透過 HTML 的標記或 CSS 的元素, 將這些元件放置到你想要讓它出現在網頁的位置上,並改變或加上某些特效,這就是整個網頁囉。
瀏覽器分辨 head 與 body 的差異
因為網頁都是由瀏覽器來呈現的,因此,我們先由觀察瀏覽器如何呈現網頁來理解,當你要製作設計一個網頁時,應該要注意哪些項目。
以本網頁為例,瀏覽器主要分為:(1)上半部的功能畫面與 (2)實際可以看到的網頁部份。
而在上半部你可以發現到頁面標籤會出現『Unit01-HTML 製作簡單網頁』的項目, 至於下半部則是實際網頁作者想要讓大家查閱的部份了。
現在我們看一下這個網頁的『原始碼』項目內容到底是怎樣?
滑鼠點選 右鍵 -> 檢視網頁原始碼 (鍵盤快捷鍵:Ctrl + U)
整個網頁一開始會宣告網頁的版本 (<!doctype html>),然後全部的內文都會被 <html> ... </html> 所涵蓋,而在這裡面主要分為兩大區塊,一塊是頭部宣告 (<head> ... </head> ),一部分則是實際顯示於瀏覽器內部的身體區塊 (<body> ... </body>)。整個網頁的項目可以變成這樣:
<!doctype html>
<html lang="zh-Hant-TW">
<head>
這裡是一些宣告的部份,包括標籤頁抬頭宣告、語系編碼宣告、樣式表外部呼叫、腳本外部呼叫等
</head>
<body>
網頁要呈現的任何資料,都是貼在這裡!
這裡涵蓋一大堆標記 (<tag>)也是這一章節的重點
</body>
</html>
一般網頁的製作方式
網頁製作通常會使用幾種方式來處理:
- 客戶端單獨處理:客戶端電腦上面完成後,批次上傳到伺服器。例如透過所見即所得的軟體編輯、文字編輯器等方式。至於上傳方法,通常透過 FTP 等功能
- 客戶端/伺服端同步處理:直接透過某些通訊協定,如網芳 (Samba)、FTP、SSH等方式,直接在客戶端以上述的軟體來編輯。此時無須上傳,因為編輯的就是 Server 上面的文件
- 直接伺服器端處理:直接連線到 Server 去編輯網頁。
本教材預計使用 notepad++ 來實做網頁。請先在桌面建立一個www的資料夾,之後要做的網頁資料一律儲存在這裡。
在Window本機上撰寫第一個網頁
● 假設你已經安裝好 notepad++ ,請先在桌面建立一個www的資料夾,

● 完成後請點開www的資料夾,並在裡面建立一個名叫 web1 的資料夾,這一章所作的內容都會放在web1裡。

以上兩件事完成後就可以打開notepad++
開啟notepad++後,請先另存新檔,將檔案存到桌面的web1資料夾裡,檔名設定為unit01-1-1.html,建立好後畫面會長這樣:

接下來就可以開始直接編輯該檔案!每次新的檔案要撰寫時,你都應該要先加上這些資料:
- 先在『編碼』功能列,選擇『編譯成 UTF-8 碼』,這點相當相當重要
- 第一行先撰寫 html 版本宣告 (<!doctype html>)
- 加入 html, head, body 這三個成對標記
在 body 的部份,先寫入兩段文字,分別是『My first web page』跟『我的第一個網頁』,最後按下儲存小圖示或鍵盤快捷鍵(Ctrl + s)。最終檔案內容大概長這樣:
以瀏覽器查看網頁
此教材並沒有與伺服器同步,所以在本機的www資料夾裡所做的網頁並不會被其他部電腦的瀏覽器所看到,只有自己這台主機可以打開這個網頁瀏覽。
請到桌面的www資料夾裡打開剛剛存的unit01-1-1.html的檔案。(這裡使用Google Chrome瀏覽)

打開後會發現幾個小問題:
- 網頁最上方的標籤頁是顯示檔名並沒有相關的標題內容
- 文字內明明是兩行,但是卻僅有一行將兩個中英文部份整合了
例題 1.1.C:加入頁面標籤抬頭以及編碼特性
- 在 html 的項目內,加上 lang="zh-Hant-TW",宣告語言使用地區為台灣繁體中文區!
- 在 head 的項目加入 <title>...</title>,並且在 title 中間加入『我的第一個網頁』字樣
- 在 head 的項目內,加入 <meta charset='utf-8' /> ,宣告語系為 utf-8
- 在 head 的項目內,加入 <meta name="author" content="Your Name" /> ,宣告網頁作者
- 處理完畢之後,請到網頁刷新頁面,看看標題頁是否順利顯示出來了?
1.4: 首頁與首頁檔名、區塊與非區塊標記
● 絕對路徑與相對路徑
當 unit01-3-2.html 要呼叫 dic.jpg 時,我們是這樣呼叫的
<img src='images/dic.jpg' ../>
因為 images 與 unit01-3-2.html 都在同一個目錄中,我們稱為同一層,因此可以直接呼叫!所謂的直接呼叫指的是檔名直接從檔名開始寫, 檔名前面沒有加上任何的特殊目錄名稱之故,這種方式就稱為相對路徑的寫法之一。
經常使用於檔名或 URL 撰寫的目錄還有底下這幾個:
- / :代表根目錄的意思,亦即整個網頁的最頂層
- . / :代表本目錄的意思,所以 images/dic.jpg 也能寫成 ./images/dic.jpg
- .. / :代表上層目錄的意思
● 入口首頁與首頁檔名的使用
一般我們的首頁都是名為 index.html 或 index.php,這是因為伺服器會主動提供該檔案 (index.html or index.php) 給瀏覽器解析了。此教材的做法沒有與伺服器做同步所以影響不大,但我們一樣以index.html這個檔案做為首頁,未來如果能將上述做的東西丟到伺服器時就不需要做太多修改。
例題 1.4.A:請在 www底下新增名為 index.html 的首頁檔案,這個首頁檔案內容中,請用 ul 規範兩個清單, 可以用你的大名、學校、科系等等 ( !!勿將個資打在上面!! )。之後在『上課連結』的段落後,再以 ul 或 ol 搭配 a 列出今天上課的所有內容連結。, 完成的內容應該要有點類似如下的畫面:
要注意, a 是成對標記,而 <a ...>被顯示的文字</a> 這樣的語法,在 a 中間的,才會顯示到瀏覽器內。 a 裡面也不要包含太多資訊,通常是一小段文字、一張圖等等,當然不太可能是一整個段落~在使用上要留意才行!
● 區塊標記與非區塊標記
從上面談到的許多標記之後,我們也可以發現到,每種標記的影響範圍是不一樣的。舉例來說,段落標記的 p ,無論這一段文字有多長, 只要看到 p ,就會在這段文字上、下方各保留一行空白,而且,即使這個段落的文字不到 10 個字,因此不滿一行,右邊的空白範圍依舊是留白保留給 p 的, 這就是所謂的區塊標記 (block)。而另外 br, a, img, font, strong 等標記,則是僅影響內容文字而已,並不會讓整個橫的切面空間全部佔滿, 這種就是非區塊或者是內部元件區塊 (inline-block) 標記。
- 區塊標記:會將整個橫切面的空間全部佔用 (即時沒有用到,整個橫切面都會被留白保留),常見的標記有:
- 段落: p
- 項目清單: ul, ol, li
- 標題: h1~h6
- 非區塊標記:只影響範圍內的文字或元件,並不會佔滿整個橫切面的空間,常見的標記有:
- 文字: strong, font
- 斷行: br
- 圖示: img
- 超連結: a
區塊標記與非區塊標記的使用差異相當大,未來在學到新的 HTML 標記或 CSS 元素時,記得要特別留意這些資料是否為區塊標記, 因為區塊標記還有留白 (margin 與 padding) 還有定位可以使用,非區塊標記就不能這麼亂玩了!要注意!要注意!