外部CSSファイルを使用してUTF-8で確実に背景色を出す方法は?

このQ&Aのポイント
  • HTMLファイルでテーブルの背景色を設定する際に、外部CSSファイルを使用してUTF-8の文字コードで確実に背景色を出す方法を教えてください。
  • charset=UTF-8だと外部CSSファイルの背景色指定が効かないため、HTMLファイルで背景色を直接指定しているが、他の色では不確実なため、正しく表示する方法を知りたい。
  • SHIFT-JISの文字コードにすると背景色は表示されるが、UTF-8の文字コードで表示させる方法を教えてほしい。
回答を見る
  • ベストアンサー

charset=UTF-8だと外部cssファイルが効いてくれません !

htmlファイルで、テーブルのセルの背景色設定をつぎのようにしました。 外部cssファイルで背景色を .colbg1 {background-color: #00aaff} と指定し、 htmlファイルでは、 <TD background-color:DIV class=colbg1> としました。 そして、言語と文字コードを下記のようにすると、背景色が出ません。 (他の色では出ることもあったりして不確実なのです。) 言語:<META http-equiv=content-type content="text/html; charset=UTF-8"> 文字コード:UTF-8(または UTF-8N)で保存。 UTF-8 でなくて SHIFT-JIS にすると、ちゃんと背景色が出るんです。 外部cssファイルを使用して、UTF-8 で確実に背景色を出すにはどうすればよいのでしょうか? <TD bgcolor="#00aaff">とは、死んでもしたくないんです。(大げさ)

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

  • ベストアンサー
  • Karaft
  • ベストアンサー率76% (26/34)
回答No.1

こんにちは 自分も経験があるので多分、、、そうかなとおもうのですが、 外部cssの先頭に @charset "Shift_JIS"; と記述したら背景色、付きますでしょうか? htmlページがUTF-8で、外部CSSがShift_JISなど ページとCSSの文字コードが異なる場合は、 外部CSSの先頭1行目に、CSS自体の文字コードの宣言を 記載しておく必要があるようです。 http://www.lucky-bag.com/archives/2004/11/css_2.html http://www.tg.rim.or.jp/~hexane/ach/hscs/hscs5-06.htm http://www6.plala.or.jp/go_west/nextcss/guide/how2ref.htm http://www.mitsue.co.jp/case/design/c_009.html

godsaveme
質問者

お礼

ありがとうございました。 参考URLも、難しくてわからん部分もありましたが、たいへん有意義でした。 ポイントを発行して、締め切らせていただきます。

godsaveme
質問者

補足

早速のご回答ありがとうございます。 教えていただいたとおり、@charset "Shift_JIS"と入れたら、見事に解決しました。 ところが一難去ってまた一難、cssファイルに記述した BODY {background-color:#ccffff; color:#000066; line-height:1.35;} が無効になってしまいました。 これは別件で質問させていただきたいと思います。

関連するQ&A

  • PHPで出力したhtmlに外部CSSを適用したい

    PHPで出力したhtmlに、外部CSSファイルを適用させたいと考えています。 <?php header('Content-Type: text/html; charset=UTF-8'); ob_start(); echo '<table>'; echo '<tr>'; echo '<td>テスト1</td>'; echo '<td>テスト2</td>'; echo '</tr>'; echo '</table>'; ?> 上記のように、echoでhtmlを出力させているのですが、 これに外部CSSファイルを適用させることは可能でしょうか? 最初の header('Content-Type: text/html; charset=UTF-8'); ob_start(); の部分で、出力後のhtmlファイルの文字セットを指定することが出来たので、 同じような要領でCSSファイルの設定も出来るかなと思ったのですが、 ネットで検索しても出てこず・・・ ご教授いただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • UTF8環境下で外部CSSの挙動がおかしい

    外部CSSの挙動で非常に困っています。 このたびサーバーを移設することになり、新しく借りたサーバーに既存のソースを移動して動作確認を行っていたところ外部CSSの挙動がおかしく、原因もわからなく困っています。 どなたかご教授いただけますでしょうか。 詳しい環境は下記のとおりです。 --引っ越し前------------------- ホスト文字コード:EUC-JP ローカル文字コード:EUC-JP FTP時には無変換でアップロード --引っ越し後------------------- ホスト文字コード:UTF-8 ローカル文字コード:EUC-JP アップロード時にEUC-JP⇒UTF8変換でアップロード どちらもPHPファイルから**.cssというファイルを外部参照してスタイルを読み込んでいます。現象としては、CSSファイルのすべてが読み込めないのではなく部分的に読み込めない状況です。 しかも再読み込みするとスタイルが効いたり効かなかったりと挙動もまちまちで、おかしい部分が特定できません。 CSSファイルの先頭に「@charset "UTF-8";」をつけてみたり、「@charset "EUC-JP";」をつけてEUCでアップロードしたりしてみましたが何も変わりませんでした。 CSSの最初に出現するのはbody{}ですので、先頭がクラスによっておこされる現象でもないようです。 前サーバーの使用期限が迫っており、このままでは現状での引っ越しとなってしまい大変困っています。 どなたか回答よろしくお願いいたします。

    • 締切済み
    • PHP
  • CSS今度は外部ファイル!

    前回「CSSが反映されない」で質問させていただきました。 おかげさまで、ヘッダー内で記述したものが、反映されるようになりました。 ところで、今度は外部ファイルの読み込みで「できない!」となっています。 自分ではどこがいけないのか、発見できなかったので、また皆さんのお力をいただきたいと 思います。 ○abc.css(外部ファイル) .body{ color:#006666; font-size:30px; } ○HTMLファイル <! DOCTYPE PUBLIC HTML "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html;charaset=shift_jis"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"> <!-- <link rel="stylesheet" href="abc.css" type="text/css"> --> </style> </head> <body> 背景色は濃い青緑です<br> フォントサイズは30px・・・<br> <br> になるはずです・・・ </body> </html> ・・・結果・・・ 真っ白な画面に標準フォントで表示。 ○外部ファイル .hp-name{ font-size:55px; color:#006666; text-align:center; } ⇒ファイル名 hp-name.css ○HTMLファイル <! DOCTYPE PUBLIC HTML "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type"Content="text/html;charaset=shift_jis"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"> <!-- <link rel="stylesheet" href="body.css" type="text/css"> --> </style> </head> <body> <div class="hp-name"> HP名は「○○△△◇◇」です </div> ////////////////////////////////////////////////////////////////////////////////////// 今度はどこがいけないのでしょう。 <link rel・・・・・・・・ で、外部ファイルを読み込むだけではいけないのでしょうか? それとも、外部ファイルの書き方がいけないのでしょうか? 外部ファイルには「スタイルシートの部分だけ」記述すればいいと思っていたのですが・・・ ○外部ファイルを <style type="text/css"> <!-- --> </style> をつけてみたのですが、ダメでした

  • 文字コードをUTF‐8にすると外部CSSが読み込めないようなのですが・・・

    こんにちは。 現在、海外向けページを含むサイトを構築するにあたって、 文字コードをUTF-8に統一しようとしています。 ■HTML側 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 以下略 ■CSS側 @charset "UTF-8"; * { margin: 0; padding: 0; } body{ font-family: "Verdana","MS Pゴシック","ヒラギノ角ゴ Pro W3","Osaka","Sans-serif"; font-size: 80%; color: #333; background-color: #ccc; } 以下略 というように記述しているのですが、 HTMLをブラウザで開くと、外部スタイルシートが全く反映されません。 (IE7・NS7.1・Opera9.21・Firefox2.0で同様の結果) 試しに双方をshift-jisに変えてみたら、正常に反映されるようです。 @charsetの記述もしていますし、保存は双方、UTF-8Nで保存しています。 今までsift-jisかEUCでしか作成したことがなく、何がいけないのか原因の見当がつかなくて困っています。 XHTMLでないとダメなのでしょうか・・・? ぜひ、アドバイスを頂けないでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • charset=utf-8にしてるのに・・・

    ジオシティーズでHPを作っていて、ヘッダに <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> を宣言しているのですが、IE9でソースをみると <font face="HG創英角ポップ体">が <font face="HGチマアムウム斜釈識捨釈ツホ"> に文字化けされてるのですが、IEでソースを文字化けしない方法はありますか? ファイアフォックスでソースを確認すると問題ないです。

    • ベストアンサー
    • HTML
  • 外部ファイルのCSSを適用するには?

    CSS超初心者です。 ぜひ教えてください。 現在作成しているhtmlに簡単な背景をcssで外部ファイルとして読み込むようにしたいのですが本を見ながらやっているのですがうまくできません。 勉強が足りないといったらそれまでなのですがどうか教えてください。 背景にはbackground.gifという小さな画像を敷き詰めたいのですが このソースだけでいいのでしょうか? ●cssソース(back.css) body {background : url("http://fiesta2.com/background.gif") ; background-repeat : repeat; } 続いてback.cssを読み込ませたいhtmlのソースです。 ●htmlソース <html> <head> <link rel"stylesheet" href="back.css" type="text/css"> <meta http-equiv="content-type" content="text/html;charset=x-sjis"> <meta name="generator" content="Adobe GoLive 5"> <title>Welcome to FIESTA!</title> </head> <body> <div align="center"> <table cool width="489" height="758" usegridx usegridy showgridx showgridy gridx="16" gridy="16" border="0" cellpadding="0" cellspacing="0"> ~中略~ </div> </body> </html> 専門家の方にはささいな質問かもしれませんが 超初心者のためよろしくお願いします。

  • CS6(win)でCSSが文字ばけ

    DreamweaverCS6(win)でCSSが文字化け CSSを編集していたところsafariでcssが効かない事で @charset "utf-8"; を @charset "Shift_JIS"; に変えてみたのです。 無事、safariでcssが効いて、作業が終わりました しかし、気がついたらCSS中のコメントアウトした文字が文字化けしている あわてて調べたところ文字化けが発生する条件として [ 環境設定 ] – [ CSS スタイルシート ] – [ 修正時に CSS ファイルを開く ] のチェックを外している。 @charset で [ UTF-8 ] 以外の文字コードを指定している。 外部 CSS ファイルを使っている。 と書いてあるので、 外部 CSS ファイルを使っています。 [ 修正時に CSS ファイルを開く ] のチェックがあるのを確認(最初からチェック済みです) @charset で [ UTF-8 ] 以外の文字コードを指定しているので@charset "utf-8";に戻し保存 Dreamweaverを一旦終了、再立ち上げで確認しましたが、文字化けが戻りません。 どうすれば、文字化けが直るのでしょうか? よろしくお願い致します。 補足 修正/ページプロパティー/エンコーディングで"Shift_JIS";になっていましたので Unicode(UTF-8) と致しました。 しかし、やはり文字コードは化けたままです。(再起動でも同じでした)

    • ベストアンサー
    • HTML
  • UTF-8を指定すると外部スタイルシートが効かなくなります。

    現在海外の方へ向けて英語のwebサイトを制作しており、 WinXPのDreamWeaverで作成し,全て英語で記述しているのですが、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> ↑この記述から ↓この記述に書き換えると外部javascriptに記載されているスタイルシートが効かなくなります 。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> スタイルシートは外部に記述しており、 HTMLファイルに記載されているスタイルシートは効いています。 javascriptにだけなぜスタイルシートが効かないのでしょうか? このような場合の解決策を知っていらっしゃる方がいたら、教えてください。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • Dreamweaverで「shift_jis」→「utf-8」

    DreamweaverMX2004を使用しています。 以前に文字コードをshift_jisで作ったhtmlを全てutf-8に変更したいと思っています。 これを行う場合、Dreamweaverのコードビュー画面で <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> ↓ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> と直接手で書き換えるだけで、文字コードはDreamweaverが自動的に保存しなおしてくれるのでしょうか? (もしくはメニューの「ページプロパティ」でエンコーディングを変更できるようですが、どちらの方法にしても) また、これをDreamweaverではなく、テキストエディタ(TeraPad等)で行う場合、どのような方法になりますでしょうか。 また、UTF-8でhtmlを作成する際、shift_jisとは別の点で何か注意しなければならないことはありますか? よろしくお願い致します。

  • CSSについて

    前回「CSS今度は外部ファイル!」で質問をさせていただきました http://okwave.jp/qa4254612.html #2の回答者様の記述ソースをコピペしてCSSファイルと、HTMLファイルを作ったところ、HTMLファイルに外部CSSが反映されて表示されました。 しかし、このCSSファイルの中身(だけ)とファイル名を変更したところ、今度は反映されなくなりました。 ■CSSファイルの変更■ 変更前 body { color: blue; font-size:30px; 変更後 .hpname{ font-size:50ox; color:#006666 text:align:center; } ■CSSファイル名 半角小文字でhpname.css ■HTMLファイル 変更前 <! DOCTYPE PUBLIC HTML "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type"Content="text/html;charaset=shift_jis"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" type="text/css" href="test.css"> </head> <body> 背景色は青で文字は30px </body> </html> この中の <link rel="stylesheet" type="text/css" href="test.css"> を変更。 href="test.css">を href="hpname.css"> にしました。 ///////////////////////////////////////////////////////////// CSSファイルの作りかたがいけないのでしょうか? 「.」をつけてはいけない? それとも外部ファイルを読み込むパスを絶対指定などしなくてはならないのでしょうか(同じフォルダ階層内です) 何回やり直しても結果が同じなので、また質問させていただきました。

専門家に質問してみよう