Re: [問題] CSS的外部檔案匯入....
: : 關於這個
: : http://www.w3.org/TR/html4/struct/links.html#edef-LINK
: : 可是我直接加在Link 的地方,
: : <LINK href="學習與評量研究室-劉子鍵副教授 著作.files/style.css"
: : type="text/css" rel="stylesheet" charset="Big5" />
: : 還是沒變耶,就是原po的問題一樣還是在
: : 而用 @charset "Big5" 卻可以用,可解決原po問題
: : 兩個不是應該要有一樣的效能嗎? 怎麼一個有用處,另一個沒作用?
: 哈哈 我看漏了一件事 原po的網頁並沒有DOCTYPE宣告
: 他的網頁在任何modern的瀏覽器都會以舊規格的HTML來render(Quirks-mode)
: 而舊規格的HTML(指XHTML/HTML4之前的規格)
: <link>是沒有charset這個屬性的
:→ ileadu:? 我手動幫他加入doctype 一樣沒有效果說... 08/01 12:29
:→ elan:你加入那一種doctype? 08/01 12:30
:→ ileadu:HTML 4.01 Strict 跟 XHTML 1.1 Strict ^^ 08/01 12:57
:→ ileadu:兩個都不行. 08/01 12:58
:推 mdfh:我試過用 transitional 也一樣 08/01 14:26
:推 mdfh:又另外如果我把style.css改成 utf-8就OK了? 08/01 14:30
:→ ileadu:樓上 對啊~這篇是更深入的探討 link 如何加charset才有效 08/01 16:39
剛剛經過測試 我發現可能有其他的原因
(要不是有原po的例子 我以前也不會對IE以<link>引入外部css
做這麼多的觀察 我之前從未遇過這種問題):
先說明一下情況, 原po的網頁write.html是指定定utf-8編碼,
而他的樣式表style.css第一行有這樣一個宣告:
* { font-size: 12px; font-family:Tahoma, 新細明體;}
裡面font-family有指定了'新細明體', 這是樣式表裡唯一的非拉丁字資料,
以big5編碼儲存
原po以<link href="style.css" rel="stylesheet" type="text/css" />引入style.css
接下來是我在IE6上觀察推測的結果,
1. 樣式表第一行之後的定義全失效了 唯一可能的原因就是IE的parsing bug
(來自以錯誤的encoding去解譯style.css的內文) 當IE遇到'新細明體'以錯誤的
encoding去解讀而未能正確解譯第一行最後面的 ;} 所以接在後面的定義全因
文法錯誤而未引入. 然後我就試試看把第一行的定義做點小修改:
* { font-size: 12px; font-family:Tahoma, 新細明體 ;}
^
插一個空格進去
這樣應該能強迫IE跳脫parsing bug, 接著正確解譯定義及宣告的結束 ';}'
果然 後續的styles又被正確的引入了.(當然, 我猜font-family也不會有
'正確'的新細明體定義)
2. 既然推測是encoding造成的parsing bug, 我就試著讓IE以big5編碼去去解讀
以<link>引進的style.css, 理所當然依照W3C的規格 加入charset="Big5"
(前面文章已經說明在外部樣式表內宣告 @charset "Big5"; 可以work, 不再贅述
另外我要向版友們致歉, 我從沒試過<link>的charset功能,
只是照本宣科依照規格推文在版上) 就如ilead與mdfh兄所測試的一樣, charset屬性
並無作用(雖然MSDN上有說明支援這個屬性). 這時, 我回憶起microsoft軟體的
壞名聲, 直覺的做了一件事, 就是網頁的指定編碼改成big5, style.css果然是
成功的引入了, 所以, 雖然依照W3C的規格, UA應該要 'respect' <link>元素
的charset屬性做指定的編碼, 但IE似乎還是以網頁本身的編碼來解譯<link>所
引進的樣式表 (做這個測試前我已將原po的網頁加入XHTML Strict的DOCTYPE,
以standard-compliant模式來render)
3. 因此, 回到原po的問題, 根據觀察的結果:
* 讓你的網頁與外部樣式表使用相同的編碼, 或者是
* 你外部樣式表內的中文用什麼編碼, 就在第一行宣告 @charset "[encoding]";
的規則(這個保證work!)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.10.144
→
08/01 21:46, , 1F
08/01 21:46, 1F
推
08/02 02:37, , 2F
08/02 02:37, 2F
→
08/02 15:29, , 3F
08/02 15:29, 3F
→
08/02 15:48, , 4F
08/02 15:48, 4F
→
08/02 15:50, , 5F
08/02 15:50, 5F
→
08/02 15:50, , 6F
08/02 15:50, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):