• ベストアンサー

cssが反映されない

サイトを作ろうとしているのですが、初心者なのでこのサイト↓ http://homutuku.com/beginner/330.html を見ながら作っているのですが、スタイルシートが反映されません。 反映されないといっても、ボーダーのオレンジの線一本だけ反映されます。 あとは反映されません。画像なども。 今フォルダは 全体の「hp」というフォルダの中に、「img」フォルダがありその中にheader.gif がはいっています。 あとはこのサイトと同様、cssファイルとindex.htmlだけです。 なぜでしょうか。 よろしくお願いいたします。

  • HTML
  • 回答数4
  • ありがとう数4

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

No.2ORUKA1951です。DrFellさんの回答を見て、改めて http://homutuku.com/beginner/330.html のサイトを見てみました。  確かに、初心者が見てはならないページですね(^^) 初心者さんのためのホームページ作成講座--人気ホームページが作れる簡単作成講座 ( http://homutuku.com/beginner/ )から、適当なページを見てみましたが、本当に酷いです。 例) HTMLのDOCUTYEがtransitinalになっていますが、HTML4.01の勧告以来非推奨です。  「HTML文書を作る場合には、この仕様における、他のDTDセットではなく strict DTD に適合する文書を作るよう推奨する。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/conform.html#h-4.1 )」 例) 「CSSレイアウトでは、<div>を使ってレイアウトを組みます。 ( http://homutuku.com/beginner/210.html )」  これは違います。  「DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )」  HTMLは、文書構造をマークアップするもので、その文書構造を利用してスタイルシートでデザインするのであって、デザインのためにマークアップするものではありません。  このように極めて重要なHTMLとCSSの根幹に関わる重大な部分から間違っています。仕様書を一度も読んでいない人が作成しているとしか思えません。それにしても、ここまで酷いのは、見たことありません。 ★先日 kkk01011111さん自信が質問された「ホームページ作成のとき ( http://okwave.jp/qa/q7217379.html )」のHTMLも、デザインによってHTMLを書いていないですね。そうしてあれば、どのようにもデザインできるのです。横だろうが縦だろうが・・ ★まず、デザインはまったく考えずにHTMLを、その文書構造にしたがって記述できるように練習してください。 例) はじめてのWebドキュメントづくり ( http://www.asahi-net.or.jp/%7Esd5a-ucd/www/ )  そのうえで、スタイルシートを ★セレクタというもの - CSS講座 ( http://www6.plala.or.jp/go_west/beginner/css/selector.htm ) あたりで・・  くれぐれも、デザインのためにHTMLを書かないように!!!

kkk0101
質問者

お礼

リンクありがとうございます!! 見てみます。 間違ったHTMLの書き方をしないように正しく勉強します! わかりやすい回答、ありがとうございます!

その他の回答 (3)

  • DrFell
  • ベストアンサー率55% (305/551)
回答No.3

その教本では、オレンジの線1本だけ反映されて正解です。 そのページのみしか見ていないので、他のページに解説があるかもしれないのですが、その教本が悪いとしかいいようがありません。 bodyの中身を下記に替えてみてください <div id="site-box"> <div id="a-box">Aボックス(必要に応じて増やしてください)</div> <div id="b-box">Bボックス</div> <div id="c-box">Cボックス</div> <div id="d-box">Dボックス</div> </div> 教本どおりだと中身が空っぽだったので高さが持てず、site-boxのborderが引かれたのみに目に映ると思います。上記では中身を入れることで高さを持たせ、それぞれのボックスを表示させています。 高さを指定するheightをcssにいれることで高さが指定する方法もあります。 そのページを見ただけでは、他にも問題点が沢山あるようですので、そのサイトを先生にしてhtmlやcssを学ぶのはお勧めできません。見出しにはh1、h2……というタグを使います。すべてをdivで済ませるサイトは使わないほうがよいです。 初心者には見分けはつかないかもしれませんが、文書構造(論理構造)と見た目のデザインの分離に触れていない入門サイトは近づかないほうがいいです。別のサイトを捜すことを強くお勧めします。

kkk0101
質問者

お礼

そうだったんですね 初心者だったもので、気づきませんでした・・・ 今bodyの中身を替えてみたら、できました!ありがとうございます!! このサイトは使わないことにします。 助かりました、ありがとうございました。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

一部分だけ反映されるということは、スタイルシートの書き方が間違っています。 ★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_input ) でチェックすること。もちろんそれ以前にHTMLが間違っていたら適用されませんから ★The W3C Markup Validation Service ( http://validator.w3.org/#validate_by_input ) ★Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ) でHTMLもチェックすること

kkk0101
質問者

お礼

こんな便利なサイトがあるのですね! やってみます!!! 助かりました、ありがとうございます!

  • wakatonsx
  • ベストアンサー率28% (234/828)
回答No.1

CSSの指定方法がまちがっているからでしょう。 HTMLにCSSで指定した記述になっていない。

kkk0101
質問者

お礼

今htmlのほうには <link rel="stylesheet" type="text/css" href="style.css" /> と記述してあります。 どのようにしたらよいのでしょうか? すみません・・

関連するQ&A

  • CSSで相対パス

    さっきニコニコ動画のスタイルシート見たんですけど、 こういう記述があって body.tpl { width:960px; background:#FFF url('/img/tpl/bg_rc2.gif') repeat-x; color:#333; margin:0px auto; padding:0px; } このスタイルシートはcssというフォルダの中にあって、 そこと同じ階層にimgというフォルダがあって、 あとは直接index.phpとかのメインのファイルが置いてあるみたいなんですけど、 普通外部スタイルシートから別のフォルダ(同じ階層にある別のフォルダ)にあるイメージを呼び出すなら ../img/tpl/bg_rc2.gif になるはずだと思うんですけど、上の記述だとまるでCSSの相対パスのベースが上位の階層(index.phpとかのメインのファイルがあるの階層)になってるみたいにに見えるんですよね、 もしこれが出来るなら、大量にネストして外部スタイルシート作ってある場合(imgフォルダから遠い階層)、 ../../../../../../img/a.gif って呼び出さないといけないのが楽にすむじゃないですか、 もし外部スタイルシートの相対パスのベースをこういう風に設定できる方法があるならおしえて下さい、 俺の勘違いだったらごめんなさい

    • ベストアンサー
    • HTML
  • cssが反映されません

    FC2のホームページについてです。 ホームページはなんとか作れてサーバーにアップしたのですが、 style.cssで設定した背景画像とスクロールバーが反映されません>< テンプレートをお借りして、その中に入っていたstyle.cssもそのままffftpに アップロードしました。 ファイル内で自分のホームページを見てみると背景画像と色など設定したスクロールバーは しっかり反映されているのですが、サーバーにアップすると反映されません。 ffftpにstyle.cssをそのままアップロードしたのが間違いだったのでしょうか;; 検索して調べてみるとCSSのフォルダごとアップロードしろと書いてあったりするのですが テンプレートに入っているのはstyle.cssというものだけで、cssフォルダは入っていません。 それともcssフォルダは自分で作るのですか><?

    • ベストアンサー
    • CSS
  • CSSが反映されない(相対パスを使う?)

    FC2でホームページを作っています。 ROOTディレクトリには st.css、index.html などを作りました。そこにある全ての ページにCSSが反映されています。 その下の階層に imgディレクトリと、自分の書いた作品を入れるためのディレクトリを 作りました。imgディレクトリの中にはgif形式の画像(ホームページのレイアウトに使う画像) ファイルが入っています。 作品を入れているディレクトリのページを見ると、CSSが反映されておらず、 真っ白のページに文字が左詰めで書いてあるだけでした。 そこで、相対パスというものを使ってCSSを反映させたいです。 相対パスの説明サイトを見ても全く分かりませんでした。 特に、「./」の使い方が分からなかったです。これをどうやって使うのか? もしくは 別のを使うのか? 仮に「./」を使うとして、それをどこに書き込めばいいのかも分かりません。 <link rel="○○(反映させたいページ)/stylesheet" href="st.css" type="text/css"> これのどこかに書き込むと反映されるようになると説明があったのですが…。 ご回答をお願いします。

    • ベストアンサー
    • HTML
  • style.css 反映されない

    WORDPRESSを使ってホームページを作成中です。 使っているPCはMAC OS 10.5.8です。 素人のためwordpressレッスンブックという本を読みながら進めています。 index.phpとstyle.cssでHPを作成しています。 index.phpで記入したものは、サイトを表示すると反映されているのですが、style.cssで指定、または記入したものが急に反映されなくなりました。 今まではそんなことはなく、順調にすすんでいたんですが、今日の作業中に突然style.cssで記入したものが反映されなくなりました。 (例1) *RSSフィードへのリンクの文字のデザインを指定する。 *画像の中央に文字をそろえて表示する。 *RSSフィードへのリンクを枠で囲んで表示する。 ↑ これらを実行したくて、 style.cssに下記のように入力しましました。 /* フィード */ p.feed {font-size: 0.75em; font-family: Verdana, Helvetica, sans-serif; border: solid 1px #8cc63f; padding: 5px; margin: 25px 0} p.feed a {color: #444444; text-decoration: none} p.feed img {vertical-align: middle; margin-right: 8px} しかし、全く反応しませんでした。 どうしたらよいですか? 教えてください。

  • 階層の違うディレクトリでのCSSの呼び出し方

    現在FC2さんにサーバーをお借りしてPCサイトをつくっているものです。 HIMEISM(http://neo-himeism.net/)さんに疑似フレームのテンプレートをお借りして、半分以上はうまくいっているのですが、中身が増えてきたので小説と漫画とイラストをそれぞれ、indexなどより一つ下の階層に分けようとしたのですが、そうすると<link rel="stylesheet" type="text/css" href="img/style.css">としているにも関わらずCSSスタイルシートが呼び出されません。 今は何のディレクトリにも入っていないindexやlink、offなどが一番上の階層にあり、一つ下にスタイルシートやアイコンなどに使う画像が入れられた最初から入っていたimgのディレクトリ、小説、漫画、イラストそれぞれのディレクトリがある状態です。 img以外全部、何のディレクトリにも入れなければ正常に反映されます。 階層を分けたまま、すべてにテンプレートが反映されるようにしたいのですが、どうすればいいでしょうか。

  • CSSが反映されなくて困っています。

    iframeを使ってhtmlファイルのdiv要素を表示しようとしていますが表示すると iframeの左端に意図しないスペースができてしまい困っています。 "IEの要素を検証"でデバッグしながら検証しているのですが、 レイアウトを見るとOffsetが60となっています。 "IEの要素を検証"を使いdiv要素のスタイルを指定しているwidthを変更すると IE上でスペースが小さくなっていくのが確認できるので、 その通りにCSSファイルの中身を書き換えるのですが、 何故か反映されず困っています。 ブラウザのキャッシュはクリアしています。 div要素のクラス以外で考えてみる必要のある項目が有るのかとも思うのですが、 何かアドバイス頂けませんでしょうか? 下記ソースです。 HTML(覗く側)-------------------------------------------------------------------- <IFRAME src="xxx/index.html" name="Topページメイン画像" width="900px" height="550px" frameborder="0" scrolling="no"> ブラウザがインラインフレームに対応していません。 表示される文章はこちらです。 </IFRAME> HTML(index.html)覗かれる側---------------------------------------------------------- <div class="fallback-message"> <img src="top2.jpg" width="900px"></img> </div> ---------------------------------------------------------------------------------- CSS------------------------------------------------------------------------------ .fallback-message { width: 818px; line-height: 0; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; font-family: sans-serif; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; border-top-color: #e4c652; border-right-color: #e4c652; border-bottom-color: #e4c652; border-left-color: #e4c652; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: none; background-attachment: scroll; background-repeat: repeat; background-position-x: 0%; background-position-y: 0%; background-color: rgb(238, 220, 148); } ---------------------------------------------------------------------------------- 何卒お願いいたします。

    • 締切済み
    • CSS
  • スタイルシートのテーブル枠について

    今までテーブルを利用してホームページに簡単な線を つけていました。これをスタイルシートで行うと 微妙にうまくできません・・・お助けください。 すべてIEで検査しております。 html従来の私の線の引き方 <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td bgcolor="#000000"> <img src="sps.gif" width="600" height="1"> </td> </tr> </table> 上記の表現をスタイルシートを利用してやりたいのですが 線が1pxのはずが、大きくなってしまいます。 cssを利用した記述 css部分 .index_table{ width: 600px; border:0px; border-width: 0px; margin: 0px; padding: 0px; } html部分 <table class="index_table"> <tr> <td bgcolor="#000000"> <img src="ims/sps.gif" width="600" height="1"> </td> </tr> </table> これに似たいい方法は、ないでしょうか? 質問が、うまくまとまってなくてすみません・・・

    • ベストアンサー
    • HTML
  • cssの反映について(フォルダにいれると反映されない)

    学校の課題として今HPの作成しています。 cssのことでわからないことがあるので、誰か詳しい方いましたら教えてください。 かなりページ数が増えてきてしまったので、ページごとにフォルダを作って整理をしようと思うのですが、 そうするとフォルダの中に入れたファイルにはcssが反映されなくなってしまうんです。 (ちなみにHEADの中に直接埋め込むcssでなく、cssファイルを別に作ってリンクするものです。) フォルダからcssファイルを出してしまえば、反映されるのですが、 cssファイルは全てcssというフォルダの中に入れなければいけないという決まりがあるので困っています。 <link rel="stylesheet" type="text/css" href="css/design.css"> ↑このようなタグでcssファイルのリンクを貼っているのですが、反映されません。 どこが間違っているのでしょうか?? 締め切りが金曜日までなので、かなり困ってます! 初歩的な質問&わかりにくい質問ですみませんが、どなたかよろしくお願いします。

    • ベストアンサー
    • HTML
  • CSSが正確に反映されません。

    4つの枠を丸で囲み、かつそれぞれの枠を等間隔で空けたいと思います 丁度以下の2つを表示した場合の、contentsとmainの間の間隔が理想的です。 しかし書いたCSSの設定が正確に反映されません。 headerとfooterもこの大きさで広げたいと思うのですが、広がりません。 また、なぜheaderは丸くならず、footerはサイズからはみ出すのでしょうか。 背景を赤に設定しているのですが、それも反映されません。 なぜこうなるのかどなたかご存知の方、ご指摘いただけると助かります。 どうかよろしくお願いします。 以下、2つのファイルは同じフォルダに保存しました。 dreamweaverのアカデミック版で作り、firefox3.6.13で表示しています。 style.css ---------------------------------------------------------- @charset "utf-8"; /* CSS Document */ <!-- * { margin:0; padding:0; } h1, h2, p { margin: 0 1em; } <!--背景の設定--> body { background-color: red; } <!--コンテンツの幅を指定--> #wrapper, #main, #header, #menu, #footer { width:1120px; } <!--角を丸くする--> #header, #menu, #contents, #footer { background-color: #66FFFF; border:2px solid #999; padding: 8px; margin-bottom:5px; -webkit-border-radius: 5px; /* Safari,Google Chrome用 */ -moz-border-radius: 5px; /* Firefox用 */ } <!----> #wrapper { margin: 0 auto; line-height: 1.5; } #main { } #header { height: 50px; } #menu { width: 160px; float: left; } #menu ul { list-style: none; margin-left: 1em; } #contents { float: right; width: 900px; } #footer { clear: both; height: 50px; text-align: center; } --> ------------------------------------------------------------------------------------ index.html ------------------------------------------------------------------------------------ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"><head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>勉強用</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div id="wrapper"> <div id="header"> <h1>Site Title</h1> </div> <div id="main"> <div id="menu"> <p><strong>float:left</strong></p> <ul> <li>Menu</li> <li>Menu</li> </ul> </div> <div id="contents"> <h2>Sub Title</h2> <p><strong>float:left</strong></p> <h2>Sub Title</h2> <p>text</p> </div> </div> <div id="footer"> <p>Footer</p> </div> </div> </body> </html>

    • 締切済み
    • CSS
  • cssファイルへリンクできないです。

    今回からCSSファイルでホームページを作り出している超初心者なので、 専門用語の使い方など間違っているかも分かりませんが知恵を貸してください。 Dreamweaverを使用して、上部に固定ヘッダーのソースをhtmlファイル内に打ち込んで作業をしてます。ヘッダーの下部分の作業をし始めてDreamweaverのデザイン部分の画面で、ヘッダー画像の下に載せる画像や文字が入り込んで隠れてしまうので、作業がしにくいです。 そのため固定ヘッダーデータをcssファイルにした方がいいのかなと思い、 リンクさせようとしたのですが反映されないです。リンクした方がいいのか、その他より効率がいい方法があるのか分からないのでよろしく御願いいたします。 htmlファイルには <body> <link rel="stylesheet" type="text/css" href="banner.css"> と入力してます。 cssファイルには <div id="header"> <img src="img/b01.gif" width="108" height="68" border="0" onmouseover="this.src='../house/img/b01-.gif" onmouseout="this.src='../house/img/b01.gif"> <img src="img/b02.gif" width="88" height="68" border="0" onmouseover="this.src='../house/img/b02-.gif'" onmouseout="this.src='../house/img/b02.gif'"> <img src="img/b03.gif" width="59" height="61" border="0" onmouseover="this.src='../house/img/b03-.gif'" onmouseout="this.src='../house/img/b03.gif'"> <img src="img/b04.gif" width="50" height="68" border="0" onmouseover="this.src='../house/img/b04-.gif'" onmouseout="this.src='../house/img/b04.gif'"> <img src="img/b05.gif" width="39" height="68" border="0" onmouseover="this.src='../house/img/b05-.gif'" onmouseout="this.src='../house/img/b05.gif'"> <img src="img/b06.gif" width="80" height="68" border="0" onmouseover="this.src='../house/img/b06-.gif'" onmouseout="this.src='../house/img/b06.gif'"> <img src="img/b07.gif" width="51" height="68" border="0" onmouseover="this.src='../house/img/b07-.gif'" onmouseout="this.src='../house/img/b07.gif'"> <img src="img/b08.gif" width="47" height="68" border="0" onmouseover="this.src='../house/img/b08-.gif'" onmouseout="this.src='../house/img/b08.gif'"> <img src="img/b09.gif" width="54" height="68" border="0" onmouseover="this.src='../house/img/b09-.gif'" onmouseout="this.src='../house/img/b09.gif'"> <img src="img/b10.gif" width="125" height="68" border="0" onmouseover="this.src='../house/img/b10-.gif'" onmouseout="this.src='../house/img/b10.gif'"> </div> と入力してます。 よろしく御願いいたします。

    • ベストアンサー
    • HTML

専門家に質問してみよう