練習のため、html とcssを手打ちしています。
テキスト通りに記述しているのですが、どうしてもうまくいかないところが出てきました。
画像は、回答者の方が比較できるようにhtmlの下にcssを貼ったものです。
実際はhtmlファイルとcssファイルを分けています。
ひとつめの画像のところはちゃんとブラウザに反映されるのですが、
footer部分にcssを指定したところは何も現れません。
テキストでは、この部分は飾り形が現れるようになっています。
試しに、htmlファイルの<div id="footer">の下に直接<img src="images/footer-bg.png">と書いてみるとちゃんと反映されます。
ここはcssでfooterを使えるようになるための箇所なのですが、
何度もやり直してもうまくいかず、どこでミスしているのかが分かりません。
画像のアドレスはあっています。
どうぞよろしくお願いします!
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
No.4です。
>内容が、初心者の私には理解できませんでした…。
困りましたね。HTML,CSS(頭文字ですから大文字!!)は、いきなり「これにはどうするか?」という対症療法的な学習では応用は利かない。使えませんよ。
きちんと基礎から順番を追って学ぶほうが、はるかに効率的で短時間で身につけられます。
HTMLにしろ、CSSにしろ、HTTPではいったん取得したファイルの(ルートからファイル名までの)パスを基準にしては、その都度サーバーに要求します。・・これは画像だろうが、フレームデータだろうが、インクルードだろうが、javascriptだろうが皆同じです。最も重要な基礎です。当然スタイルも。その証拠に画像のような外部データを読み込まない指定は有効なはずです。
HTMLの<heade></head>内にあるときは有効だったパスが外部ファイルにすると無効になった。あるいはHTMLの階層を変えると無効になったなどの原因はこれによる物です。
そのための対処としては、先に述べたように絶対パスにするか、都度相対パスを書き換えるかになります。
firebugを使ってスタイルシートで指定している画像データにポインター(マウス)をあわせると良くわかりますよ。
No.4
- 回答日時:
原因は極めて単純でスタイルシートを認識できていないだけじゃないかと。
HTTPプロトコルの基本ですが、
>html とcssのリンクがうまくいかない場合
HTMLとCSS、頭文字ですから大文字ですよ。
ブラウザは、そのファイルを読み込むと、そのファイルのパス情報(PATH_INFO)、そのファイルに記述してあるパス情報(PATH INFO)で描画に必要なファイルを見つけ出して、改めてHTTPプロトコルでサーバーに要求します。
(例)
http://hoge.com/index.html
と要求して得られたファイルのPATH INFOは/index.htmlです。そのHTMLファイルに、CSS/standard.css と記載してあると、改めてサーバー(hoge.com)に対して、/CSS/standard.css を要求します。
★/index.html から CSS/standard.css なので、要求は
/CSS/standard.cssです。
そして、CSSファイルのPATH INFOは、/CSS/stantard.cssで、画像へのパスが url(../img/footer-bg.png )でしたら、ブラウザは、サーバーに対して、 /img/footer-bg.png を要求します。
この場合、スタイルをHTML内にそのまま記述しても、ブラウザがサーバーに要求するのは、../img/footer-bg.png ですので見つからなくなります。
【対策】絶対パスで記述する。
ひとつのスタイルシートをサーバ内の様々な場所から利用するためには、パスをすべて【絶対パス】で記述します。すなわち/CSS/standaerd.css,/img/footer-bg.png
欠点もあります。サーバー経由でないと動作しません。Windowsの場合、/だと各ドライブが基準になります。そのためにテストはすべてサーバーに上げてテストするか、ローカルサーバーを構築することになります。
私は、ローカルサーバーで http://local.host/・・・ ですけど。
一番考えられる原因は、これだと思います。
ウェブ開発されているのでしたら、開発者向けツール( https://addons.mozilla.jp/firefox/extensions/dev … )の豊富なfirefoxをお使いだと思いますが、そのアドオンのFurebugを使われると、リンクしているファイルへのパスや、詳細度など優先順位などがチェックできます。
No.3
- 回答日時:
HTMLからCSSへのリンクは正しく出来ているという事だと思いますし、私もNo.1さんと同じく、添付画像のソースをこちらで検証した結果、正しく表示されています。
添付画像のソースで、そちらで正しく表示されないなら、文字コード、半角/全角、大文字/小文字の違い等、小さなミスがあるのかも知れません。
添付画像のソースでは正しく表示出来、オリジナルの長いソースに限ってうまく表示されないのであれば、添付画像のソース以外の部分に原因があるのだと思います。
そのオリジナルのソースを、不要な部分を少しずつ削ってはブラウザで確認し、という作業を繰り返せば、最終的には原因に辿り着くかと思います。
こちらで正しく表示されたソースを貼っておきます。これをコピペしても正しく表示出来なければ、ソースの構文以外のものが原因かも知れません。もっとシンプルにしたソースも貼っておきますので、うまく行かなければそちらも試してみて下さい。
■ index.html (UTF-8)
<! doctype html>
<html>
<head>
<meta charset="utf-8">
<title>練習</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<img src="images/anna.jpg">
<div id="Footer">
<p>©Copylight France. All right reserved.</p>
</div>
</body>
</html>
■ style.css (UTF-8)
@charset "utf-8";
#footer{
background-image:url(../images/footer-bg.png);
font-size:smaller;
}
■ フォルダ構成
root┬css─style.css
├images┬anna.jpg
│ └footer-bg.png
└index.html
■ index.html (シンプル版)
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div id="Footer">xxx</div>
</body>
</html>
■ style.css (シンプル版)
#footer{
background-image:url(../images/footer-bg.png);
}
あと、今回の問題の解決には役立たないかも知れませんが、ソースの検証サービスもありますので、良ければいつか使ってみて下さい。
■ Another HTML-lint gateway
http://openlab.ring.gr.jp/k16/htmllint/htmllint. …
■ W3C CSS 検証サービス
https://jigsaw.w3.org/css-validator/validator.ht …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS imgとpを縦・横に中央揃えする 1 2023/01/17 11:30
- HTML・CSS CSSが上手く反映されないみたいです 2 2022/11/21 16:19
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
cssファイルの名称付け
-
jspにcssを反映させるには
-
複数のhtmlで同じcssファイルを...
-
スタイルシートが適用されない
-
範囲指定印刷での位置(css)
-
ブラウザでプレビューでCSSが反...
-
テーブルが二つ横に並んでしまう
-
エクセルファイルにCSSを読み込...
-
<LINK> の ID の属性値
-
定数の定義とかはできますか?
-
HTMLの CSSのファイルというの...
-
拡張子 .cssに続く暗号みたいな...
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
入力規則のリストの文字の大き...
-
EXCEL VBA 印刷プレビューダイ...
-
テーブル内の文字サイズを変更...
-
16x16のスプライトフォント
-
特定の文字のみcssを適用するに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
cssファイルの名称付け
-
jspにcssを反映させるには
-
ディレクトリ構成【「common」...
-
サイトを作る時のcssファイルは...
-
HTMLの CSSのファイルというの...
-
cssで、ボタンのテキスト部分を...
-
複数のhtmlで同じcssファイルを...
-
cssファイルを階層の異なるHTML...
-
WindowsとMacで違うCSSを読み込...
-
cssが反映されません
-
一部のページにデフォルトCSSを...
-
エクセルファイルにCSSを読み込...
-
定数の定義とかはできますか?
-
ブラウザでプレビューでCSSが反...
-
範囲指定印刷での位置(css)
-
スタイルシート(CSSスタイル)...
-
ドキュメントルートより上の階...
-
Dreamweaver のテンプレートで...
-
【CSS】スタイルやクラスがどの...
-
cssは複数作る?
おすすめ情報
torayoshi さま
_____background-imageの前の線、
よく見てみたら、htmlの画面をキャプチャしたら
なぜか現れてました。
実際のCSS画面には見えてないんです。
でも、これあやしいですね!
この辺り、よくみてみます。
kon77 さま
すみません!
青くなりました!
CSSファイルの最後に追加して、「青くならない」と思っていたのですが、
それより上部にすでに色指定している部分があったので
反映されなかっただけのようです。
以前の色指定箇所をblueに置き換えたら変わりました。
実際のhtml、cssファイルはもっと記述が多くて
一気にキャプチャできないので、<body></body>の内容については
反映しない部分だけぬきだして
添付画像を作ったんです。
ややこしくてすみません!