人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

webサイトを作っています。
hoge.phpにheader.phpというヘッダー部分の記述をincludeしているのですが、
スタイルシートが反映されず困っています。

【hoge.php】---------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php include "../header.php" ?>
<body>本文</body>
</html>
---------------------------------

【header.php】--------------------
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="http://×××.com/style.css" rel="stylesheet" type="text/css" />
</head>
----------------------------------

hoge.phpはmainというフォルダ内に有り、mainとheader.phpとstyle.cssは同階層に有ります。
・main ― hoge.php
・header.php
・style.css
どこが間違っていますでしょうか?どうぞよろしくお願いします。

●質問者: YumiMars
●カテゴリ:ウェブ制作
✍キーワード:CSS DTD hoge HTML PHP
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● a-kuma3
●20ポイント
<link href="http://×××.com/style.css" rel="stylesheet" type="text/css" />

ここの href を

href="style.css"

href="/main/style.css"

にしましょう。

◎質問者からの返答

a-kuma3様

迅速なご回答ありがとうございます。

ブラウザのキャッシュを更新しなかったため、ソースの変更が反映されず上手く記述できていないように見えた可能性が有り、

上記のソースでも上手く表示されるかもしれません。勉強中なもので断言できず、引き続き原因を調べています。

また、教えていただいた書き方にもなおしてみます。

>href="/main/style.css"

style.cssはmainフォルダに入っていませんが、この記述で良いのでしょうか?


2 ● niwa-mikiho
●20ポイント

include するファイルは php ではなく、html にしてみてはどうでしょうか?


3 ● deflation
●20ポイント ベストアンサー

一見するとコードが間違っていないようです。

以下の点を確認してください。

  1. "http://×××.com/style.css"のURLで確実にスタイルシートは読めますか?
  2. サーバ側でCSSファイルをきゃっ旬具する設定になっていませんか?(開発中はキャッシュOFFにしましょう)
  3. 問題が起きているブラウザとは違う種類のブラウザで試してみましたか?
◎質問者からの返答

ご回答ありがとうございます。

すでに完成している別ページでは"http://×××.com/style.css"のCSSを読み込めているので、2.が問題のように思います。

>サーバ側でCSSファイルをキャッシングする設定

これはどういった意味のものなのでしょうか?

ソースに記述するものなのでしょうか?WEBブラウザの設定でしょうか?それともサーバーの設定でしょうか?

知識が無いので調べてみたいと思います。

>開発中はキャッシュOFFに

ブラウザの設定(インターネットオプション等から行う設定)ということですよね?

早速OFFにします。


4 ● a-kuma3
●20ポイント

>href="/main/style.css"

style.cssはmainフォルダに入っていませんが、この記述で良いのでしょうか?

ごめんなさい、main と同じ所に入ってると勘違いしてた。

href="/style.css"

ですね。

これじゃあ、質問で書いてるのと変わらないな...


5 ● deflation
●20ポイント

3番目に回答した者です。

ブラウザの設定(インターネットオプション等から行う設定)ということですよね?

いいえ、そういう意味ではありません。

サーバ側でHTTP通信を使ってキャッシュの寿命は指定できるので(ApacheならCache-ControlやExpiresヘッダ)、それが指定されていないかどうか確認してほしいということです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ