好孩子的網頁設計,第十二課

10 views
Skip to first unread message

Jedi

unread,
Aug 31, 2006, 11:24:40 AM8/31/06
to happyd...@googlegroups.com
FYI:

本次課程投影片:

http://Jedi.org/p4/slide/20060830/#eva

一定要用 Firefox 纔能看,用 IE 會出錯。如果妳沒有 Firefox 或不知道甚麼是
Firefox ,沒關係,底下是本週課程提要:

0. 本次課程所用到的標籤

這次介紹的四個標籤,一律都是放在 <head> …… </head> 內。

<base> 基底網址,定義網頁中各種 URI (例如 <img /> 中的
src 屬性、 longdesc 屬性,以及 <a> 中的 href 屬
性等)的基底部分
<style> 套用於網頁的樣式規則
<link> 網頁的外部相關資源、連結
<meta> 往頁的後設資訊

1. <base> 標籤會用到的屬性

1.0. id (請複習第八課的內容)

1.1. href 基底網址的 URI :

href="http://foo.bar/paz/"

如此,網頁中任何位於 http://foo.bar/paz/ 的網址,都可以省略掉這
一部份

例如本來是:

<html>
<head>
……
</head>
<body>
……
<img src="http://foo.bar/paz/toto.jpg" …… />
……
<a href="http://foo.bar/paz/tutu.html" …… >……</a>
……
</body>
</html>

用了 <base> 後可以改寫成:

<html>
<head>
……
<base href="http://foo.bar/paz/" />
……
</head>
<body>
……
<img src="toto.jpg" …… />
……
<a href="tutu.html" …… >……</a>
……
</body>
</html>

效果是一樣的。但是後者顯然少打很多字。

2. <style> 標籤會用到的屬性

2.1. xml:lang, id, title, type (請複習第十課的內容)

2.2. media 要套用的媒體類型

關於 <style> 標籤,以及樣式表的詳情,請期待下一期的課程。

3. <link> 標籤會用到的屬性

3.0. 常用屬性(請複習第八課的內容)

3.1. type, rel, rev, href, hreflang, charset (請複習第十課的內容)

實際的範例如:

<html>
<head>
……
<link href="http://creativecommons.org/licenses/by-nc-sa/2.5/tw/"
hreflang="zh-tw" charset="UTF-8" rel="Copyright" title="使用聲明" />
<link href="http://creativecommons.org.tw/"
hreflang="zh-tw" charset="UTF-8" rel="Start" title="首頁" />
……
</head>
<body>
……
</body>
</html>

基本上可以有任意數量的 <link> ,就一直加就是了。各位不妨參考一下
第十課的時候,我們介紹過的各種 rel ,如果可以的話不妨把所有可以
補充進去的關連網頁都用 <link> 加進去。

3.2. media 跟 <style> 的 media 屬性一樣,用來指定對應的媒體類型,通
常也就是用來指定替代樣式表的時候使用,例如:

<link rel="Stylesheet" media="screen" href="http://jedi.org/blog/styles-site.css" type="text/css" />
<link rel="Stylesheet" media="print" href="http://jedi.org/blog/styles-site-print.css" type="text/css" />

在上述這個實際的例子中, http://jedi.org/blog/styles-site.css
會用於螢幕顯示,當使用者要列印網頁的時候,則會去使用 http://jedi.org/blog/styles-site-print.css

關於這部分的細節,當我們下一期介紹到樣式表的時候還會再說明更多。

4. <meta> 標籤會用到的屬性

4.1. xml:lang, id (請複習第十課的內容)

4.2. scheme 剖析 meta 標籤用的規劃

4.3. name, content 後設資訊的名稱及內容,例如:

<html>
<head>
……
<meta name="author" content="Jedi" />
<meta name="description" content="好孩子的網頁設計,第十二課" />
<meta name="keyword" content="Jedi, 網頁設計, XHTML, 投影片" />
<meta name="generator" content="UltraEdit v12.10a" />
<meta name="revised" content="Jedi, 2006/08/30" />
……
</head>
<body>
……
</body>
</html>

上述這個例子中,我們分別定義了 author (作者), description (內容
描述), keyword (關鍵字), generator (撰寫網頁使用的程式), revised
(更新資訊) 這五項後設資訊。理論上 <meta> 也可以有無限多個,就一
直加下去就是了……

4.4. http-equiv 和 HTTP 檔頭有相同效果的屬性,也需搭配 content
屬性使用。常見的 http-equiv 有:

content-type 設定內容類別
content-language 設定內容語言
expires 設定有效期限
refresh 設定更新週期
set-cookie 設定 cookie

實際使用的範例像這樣:

<html>
<head>
……
<meta http-equiv="refresh" content="10" />
……
</head>
<body>
……
</body>
</html>

在上述這個範例中,這個網頁每 10 秒鐘就會自動重新載入更新頁面一次。

另外有個很重要的地方要注意:微軟的 Internet Explorer (IE) 一直有
個嚴重的瑕疵,就是當網頁的標題(及內容)使用了 UTF-8 編碼,但是
在 <title> 「的前面」卻沒有使用 <meta> 指明網頁編碼,且伺服器也
沒有送出網頁編碼的 HTTP 檔頭,整個網頁就會變成一片空白,甚麼都顯
示不出來。因此使用 UTF-8 編碼來編輯網頁的時候,務必要這樣:

<html>
<head>
……
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-tw" />
<title>foo</title>
……
</head>
<body>
……
</body>
</html>

亦即在 <title>foo</title> 之前,就要先有
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

除此之外,其他東西的順序倒無所謂。其他的 <meta> 、 <link> 、
<base> 要怎麼放,或者要放在 <title> 的前或後都可以。

5. 本週作業:

繼續修改上次作業,至少加入兩筆後設資訊,如果可以的話也試著加入外
部資源連結。

完成後,這個檔案請在 09/05 前寄給我。

6. 版權宣告:

本講義採 Creative Commons "Attribution NonCommercial Share-Alike 2.5 Taiwan"
授權條款釋出。著作人為 Jedi http://Jedi.org/blog/

Best,
/Jedi/


Reply all
Reply to author
Forward
0 new messages