2007年8月29日

publicfile と CSS

今日のバッドノウハウは、なかなかレアだww

publicfile 配下の HTML を読み込んだ際に、Firefox だと CSS が読み込まれない、、というか、適用されない、、。回避する方法をいくつか発見したので紹介。。ちなみに、IE6では、ちゃんと適用されている、、。

1. DOCTYPE宣言を書かない
2. DOCTYPE宣言を XHTML → HTML に変更する ※DTDのURLは指定しない
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
3. CSS のファイル名を、example.css → example.css.text=css に変える

原因は、publicfile が CSS ファイルを返すヘッダーに、Content-Type: text/plainとして出力するため、Firefox では CSS として読み込まれず、適用してくれない。。

どうやら、Firefox で XHTML としてDOCTYPE宣言をすると、サーバーの返すヘッダーもちゃんとチェックしているようです、、ただ、IE6 は、その辺がユルユルみたい。。

【参考】
publicfile においてファイル名でヘッダーを操作する
publicfile home
Mozilla Webページ作者 FAQ - スタイルシートが機能しない! どうして?

0 件のコメント: