レンタルサーバのファイルマネージャを使ってサイトを作っています。
外部CSSで文字のフォントをMS Pゴシックに統一したいのですが、反映されるページとされないページができました。
CSSには、
@charset "Shift_JIS";
p {
font-family: "MS Pゴシック",sans-serif;
}
読み込みには、
<link href="./style.css" rel="stylesheet" type="text/css">
と記述しました。
反映されたのはサイト2ページ目の2分割フレームの片側だけで、その他のページはブラウザで指定したフォントのままCSSが反映しません。
HTML、CSS共に文字コードはShift_JISで統一していて、それぞれ<head></head>間の同じ位置に記述してあります。
反映されたHTML内にはボックスの幅指定でCSSを使っていますが、その他のページにはCSSを使っていません。違いはこれだと思うのですが、それがきっかけで反映されたりされなかったりと変わるものなのでしょうか?
HTML、CSS共に初心者です。この質問が初歩的なことなのか難しいことなのかもわかりません。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
いわゆるframestの子供HTMLのうち、ひとつのページのみスタイルシートが利いているということですね。
一番考えられるのは、適用されないページに書かれているスタイルシートへのパスが通っていないことです。
たとえば
frameset.html
frame1.html
frame2.html
のframe2.htmlからのスタイルシートへのパス指定が誤っている。これは、frame1.htmlと異なる階層にframe2.htmlがある場合におきます。
全体(framest)を表示して該当するフレーム内で右クリックして「このフレームだけを表示する」を選択すると、そのページだけが表示されるはずです。そこでソースを見てそのパスを元にURLを表示させようとするとNot Faundになるのでは?
なお、frameは使うべきではない手法です。『HTML文書を作る場合には、この仕様における、他のDTDセットではなく strict DTD に適合する文書を作るよう推奨する。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』
スタイルシートを使うのでしたら、スタイルシートでフレームのように実装することを強く勧めます。フレームは過去の技術です。
HTML4.01strict(XHTML1.0strict)では非推奨、それ以降のXHTML1.1では廃止、HTML5ではiframeの形で使えますが、かっての使用方法とは変わります。
この回答への補足
ご指摘通り、まずフレームをやめてCSSによる疑似フレームに変更しました。
自分では難しかったのでテンプレートをダウンロードし、最初作っていたレイアウトとは変わりましたが疑似フレームが出来上がりました。
テンプレートの中で外部CSSが使われていたので、自分で用意していたページとの違いを見なおすと、私の方はどのページにも
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<meta http-equiv="Content-Style-Type" content="text/css">
の記述をしていませんでした。
読み込みたいページにはCSSを使いませんが、この部分を付け足して実行すると直ぐに反映できました。
外部CSSを読み込むにはHTMLの<head>~</head>間に<link href="./style.css" rel="stylesheet" type="text/css">を入れるだけだと説明を読んでいたのですが、思わぬところで解決してホッとしています。
ありがとうございました!
解答ありがとうございます。
教えていただいたことを順番に試していこうと思ったのですが、ソースからパスを元にURLを表示させる方法がわからず、Not Faundになるかどうかは確認できませんでした。
HTMLやCSSについては解説サイトで聞きかじった程度の知識でしたので、非推奨の手法を使っていたとは全く知りませんでした。勉強不足ですみません…。
文字フォントの統一はいったん置いておき、まずは教えていただいたようにスタイルシートで同じデザインになるようやり直します。
質問しなければ気付かないところでした、ありがとうございました!
No.2
- 回答日時:
キャッシュが効いてしまい、新CSSが反映される場合もあるし、
フレームか・・・
フレームからのCSSパスが違う。
つまり、ファイルの階層が違うので同じパスではCSSが読めないのでは?
試に、
http://www~~~/style.css などのフルパスで指定してみたらどうなる?
まあ
href="./style.css"
このパスを正しいルートパスにするだけですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フレームの表示と非表示の切り替え
-
HTMLのタグ(フレーム)について
-
WebサイトでHTMLのフォームに隠...
-
CSSの質問です。
-
htmlフレームのようにcssで作る...
-
フレーム分割しているページで...
-
インラインフレームのことなん...
-
フレームタグ"target"のような...
-
ページが変わっても同じ音楽を...
-
htmlのフレーム間の隙間について
-
文字化けを解除するには
-
フレームを使ったサイトを作成...
-
フレーム背景の画像を CSSで設...
-
フレーム内に画像を表示する際...
-
【至急!!助けて!】【スマホ...
-
クリッカブルマップでのターゲ...
-
嫌だなと思うHPって?
-
フレーム分割した全体をスクロ...
-
フレーム間のデータ取得
-
フレーム内でトップに戻るよう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どのページもすべて同じURLなの...
-
pythonのエラーについての質問...
-
フレームで指定している送信先...
-
フレームの片方だけを更新(リロ...
-
frameの内容が表示されない
-
2つのページを重ねたい
-
WebサイトでHTMLのフォームに隠...
-
URLを変えないで表示する方法
-
フレームページが表示されない...
-
iframeを使わないで・・・
-
html 左メニューから右への表示...
-
formデータ送信時にフレームペ...
-
フレームが表示されない><
-
直リンクとは。
-
HP全体にmidiを・・・
-
HTML、1クリックで複数画像表示
-
HTML フレーム内にWebページを...
-
フレームがあるページでの更新...
-
フレームの表示と非表示の切り替え
-
「無題ドキュメント」の名前変...
おすすめ情報