• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テンプレートファイルでCSSファイルを読み込む指定をしましたが、うまく)

テンプレートファイルでCSSファイルを読み込む指定方法について

このQ&Aのポイント
  • テンプレートファイルでCSSファイルを読み込む指定方法について質問があります。
  • CSSファイルを指定した位置に表示できない問題が発生しています。
  • 絶対パス以外でCSSファイルを指定する方法はあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.1

> <link rel="stylesheet" href="layout.css" type="text/css" /> > <link rel="stylesheet" href="http://www.****.com/layout.css" type="text/css" /> > index.htmlファイルとcssファイルを同じフォルダにおいて、index.htmlの中に(1) の<link …のようにファイル名のみの記述をするとうまく読み込めます。 これらの事実がそのまま答えを示してくれていますね。 reg.tplはあくまでテンプレートファイルであり、CSSが実際に反映されるのはreg.tplからPHPによって生成されるHTMLファイルに対して、です。だからこの場合、(1)の相対パスによる記述が正しい位置関係になる為には、layout.cssの置き場所は、reg.tplと同じ階層ではないく、結果として生成されるHTMLファイルと同じでなければなりません。 つまり、(hoge.htmlが生成結果のHTMLファイルだとした場合)仮に下記の様な階層構造だったとしたら、 ┳templates━reg.tpl ______┗layout.css ┗hoge.html となっていしまい、HTMLファイルから見たlayout.cssは同じ階層にはいませんので(1)の相対パスの記述は正しくない事になってしまいます。(1)の相対パスの記述が正しくなる為には、 ┳templates━reg.tpl ┗hoge.html ┗layout.css こうならなければなりません。 CSSファイルや画像ファイルの相対パスというのは、あくまで(PHPから生成された結果としての)HTMLファイルから見た位置の事であって、テンプレートファイルから見た位置の事ではない、という事です。

yanagihk
質問者

お礼

ご回答ありがとうございました。 tplファイルに値を渡すphpファイルと同じフォルダにCSSを移動してもできませんでしたが、 最初に実行するindex.phpと同じフォルダ(ドキュメントルート)にCSSファイルを移動したら正常に 読み込めました。不思議です。本当にありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A