出産前後の痔にはご注意!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<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 rel="stylesheet" href="base.css" type="text/css" media="screen,print" />
<title>あ</title>
</head>
<body>

</body>
</html>


このhtmlはbase.css(以下)を読み込んでいます。
/* CSS Document */
@charset "Shift_JIS";
body {
background-image: url(images/bg.jpg);
background-repeat: repeat;
}

fire fox、operaでは背景画像images/bg.jpgが
表示されていますが、safariでは真っ白です。

index.html内に
<style type="text/css">
<!--
body {
background-image: url(images/bg.jpg);
background-repeat: repeat;
}
-->
</style>
と記述してしまえば、safariでも当然のように反映されていますが、
これが外部ファイルになると反映されません。

今回の例は、おかしい部分を抽出してみたのですが、
bodyの背景が表示されない、一番上に10pxくらいの空白(マージン?
)が生じるという不具合以外、他の要素はsafariでもちゃんと表示されていました。

floatを使ったページはsafariでは背景が表示されないと
いう情報を得て、検査するために抽出してゆき、最後には
こんなにシンプルになっても障害がとりのぞけないので、
どんな見落としがあるのか、教えて頂けないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

試して見たけど最初は再現できなかった。



で、もしやと思って
> /* CSS Document */
このコメントの部分もCSSファイルに書いたら再現しました。

@charset は先頭に書かなければ行けないので
コメントも書いちゃだめなんでしょう。
コメントか@charsetのどちらか消してください。

参考URL:http://winmac.exblog.jp/4963334/
    • good
    • 0
この回答へのお礼

こんな事に何時間も費やしてしまったのですが、
質問して良かったです。
おかげさまで直せました。
ほんとに、どうもありがとうございます

お礼日時:2009/03/25 19:46

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qsafari でcssがききません!

こんばんは。
仕事でサイトを作っているのですが、Macのsafariでだけまったくcssが効かないという現象にぶちあたってしまいました。

下のように、外部cssを読み込み、文字サイズはcss.jsでwin、mac向けに指定してます。(文字サイズは表示されてます)
<link rel="stylesheet" type="text/css" href="css/default.css"/>
<script language="javascript" type="text/javascript" src="js/css.js"></script>

Macのfirefoxではなんの問題もありません。
cssは覚えたてて経験浅く、どのあたりに原因があるのかさっぱり分かりません…。
どなたか、解決法、参考サイトなどありましたら、教えてください!
よろしくお願いします。

Aベストアンサー

cssは組み合わせによってよくわからない現象が時々起きます。
IEでの話ですが、ソースコードで改行をいれたらレイアウトが崩れたり、全角スペースをいれたら表示されていないものが表示されたり・・・。
以前safariでcssがまったく効かなくなった事がありましたが、その時はcssでIE用のハックを使ったのがなぜか影響し、それを消したらcssが適用されるようになりました。
まずは読みこんでいるcssの記述をチェックしてみてください。半角スペースが抜けていたり、全角が入っていたり、スペルミスとか。
次はcssのシートを一度白紙にし、そこに一つ一つのclassやIDの設定を書き加えて、都度ブラウザチェックするとか。どこで問題が起きているのかを調べてみるということです。こういった事例に対して一つづつ対処していると、だんだんとバグが出たときのカンがついてきます。
頑張ってください。

Q外部スタイルシートがsafariブラウザに反映されない

初心者です、お願い致します。
環境mac osX

外部cssでhtmlファイルをコントロールしたく、外部css(dreamweaverを利用していますが、馴れていないのでテキストエディトでやろうか検討中)とhtmlファイル(テキストエディト)でhp作りをしております。
外部CSSファイルとHTMLファイルの一回目の作成(LINK時)では、どうやら反映がなされるようです。しかし、それ以後、外部CSSファイルをいじりその内容を保存し、HTMLファイルをSAFARIアプリで開くと反映されないのです。
よく分からないのですが、しばらく経って、dreamweaverやテキストエディットを立ち上げ外部CSSファイルの内容を変え、上記と同じ事をするとその時だけ反映され、それ以後、また反映されないという状況になった事もあったと思います。

外部cssファイルは一度しかその内容を指定出来ない、という事ではないですよね??まさか

Aベストアンサー

こんにちは!

>CSSファイルをいじりその内容を保存し、HTMLファイルをSAFARIアプリで開くと反映されないのです。

1.この時に更新した部分だけが反映されていないのですか?
2.それともCSSで指定したすべてのことが反映されなくなるんですか?

1なら、SAFARIで開いて反映されていなかったときに【表示】→【ページを再読込】して見て下さい。
【コマンド+R】(左上にも中止とか再読込のボタンがあるはず・・)

2なら分かりません・・

>外部cssファイルは一度しかその内容を指定出来ない、という事ではないですよね??まさか

もちろんありません・・。複数ページの共通のCSSを一度に変更するための外部cssですから。

もし一つのページに2つの外部cssを指定してあった場合、後からのCSSの指定が適応されます。
つまり、2つの外部css→どちらにも文字のカラーを赤に指定(つまり指定がダブっている)
この場合、一つめCSSで文字の色を青に変更しても変わりません。2つめのCSSのカラーが赤のままですので・・。

こんにちは!

>CSSファイルをいじりその内容を保存し、HTMLファイルをSAFARIアプリで開くと反映されないのです。

1.この時に更新した部分だけが反映されていないのですか?
2.それともCSSで指定したすべてのことが反映されなくなるんですか?

1なら、SAFARIで開いて反映されていなかったときに【表示】→【ページを再読込】して見て下さい。
【コマンド+R】(左上にも中止とか再読込のボタンがあるはず・・)

2なら分かりません・・

>外部cssファイルは一度しかその内容を指定出来ない、...続きを読む

QcssレイアウトでSafariだけがどうしても崩れます

こんばんわ、いつもお世話になっております。少しまえにも同じような感じで質問させていただいたのですが、
あれからなんとかいろいろなブラウザで修正をして見れるようになったのですが、
どうしてもSafariだけがレイアウトがひどくくずれてしまいます。
どこを直したらいいのかわからない状態でして、もし何かヒントがありましたら教えていただけますでしょうか?
だいたいの感じですが、floatを使用してる部分が(普通はちゃんと左右にレイアウトされる部分が上下にずれている、、)おかしいのですが
何を修正すればいいのかわかりません、。
よろしくお願いいたします。

Aベストアンサー

CSSで指定しているidをどんな要素に当てたのか書いて下さらなかったので^^;
適当な画像と文章を当てはめて表示させましたけど、

>普通はちゃんと左右にレイアウトされる部分が上下にずれている

という感じではありませんでしたが?
#wrapper~imgで指定されているのが画像だとして、#wrapper~ulが説明文の段落のidだとするときちんと左右にレイアウトされて表示されます。

手持ちのFirefox1.5.0.4、Netscape7.2、Opera9.0、IE5.2.3、Safari2.0.4(最新版のSafariになります)で特にレイアウトに違いはありませんから、この記述に問題は無いようですが・・・・。

ちなみにOSに残ってるOpera7.53お試し版で表示させたら見事に上下にずっこけたのでそんな感じの事なんでしょうかね?

QCSSでborderの長さを指定、または可変にしたい。

下記のように指定していますが、これだと横幅いっぱいに下の線が表示されてしまいます。

文字なりの長さ、または指定のピクセル数にしたいのですが、どのようにしたらよいでしょうか。

h3{
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

Aベストアンサー

borderの長さはそのボックスの大きさですから、ボックスの大きさを指定する事になります。
h3{
width:???px;
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

また、文字数(ボックスの内容)に合わせたい場合は、ボックスを浮動化(float)する等の方法もありますが・・・そのボックスの周りへ影響が出たり、ブラウザ毎にバグや実装の違いなどが比較的多く、扱いが面倒になるのであまりおすすめできません。

HTMLの方も修正する方法でもよければ

<h3><span>××○○</span></h3>
のようにspanで囲い、スタイルをspanに対して指定する方法もあります。

h3 span{
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

borderの長さはそのボックスの大きさですから、ボックスの大きさを指定する事になります。
h3{
width:???px;
border-width : 0px 0px 1px 5px;
border-style : solid ;
border-color : #FF3333;
padding-left : 5px;
}

また、文字数(ボックスの内容)に合わせたい場合は、ボックスを浮動化(float)する等の方法もありますが・・・そのボックスの周りへ影響が出たり、ブラウザ毎にバグや実装の違いなどが比較的多く、扱いが面倒になるのであまりおすすめできません。

HTMLの方も修正する方法でもよけ...続きを読む

QmacのsafariとFirefoxで背景が表示されない

bodyとcontainerで背景をリピートさせています。
WindowsのIE6、IE7、Firefoxでは背景は正常に表示されるのですが、macのFirefoxとsafariでは背景がまったく表示されません。
どうしたら表示されるか、どなたかお教えいただけませんでしょうか。

body {
margin: 0;
background-image:url(bg.gif);
background-position:top;
background-repeat:repeat-x;
text-align:center;
}

#container {
width:776px;
margin:0px auto;
background-image:url(main.gif);
background-repeat:repeat-y;
text-align:left;
}

Aベストアンサー

この質問文で結論は出せないのですが…

インターネットに対応したパソコンのOSで言えば
Windowsは少数派の、大文字と小文字の区別を行なわないOSです。
(厳密にはOSで同一視するルールにIE等の実装が合わせてあるのだとは思う)
肝心の画像ファイルのファイル名がmain.GIFになっていたりすると
Windows等でしか表示されない現象はおきるはずです。
(拡張子を表示しないのが当たり前という奇怪なGUIがトラブルを助長することもあります)

トラブルの原因を特定するためには、実際のそのWebsiteを
他者に見てもらう方が確実かもしれません。

Qcssで「下よせ」ってどうやっていますか?

フロートのレフト、ライトはいいとして、

あるボックス要素内(A)に異なるボックス要素(B)をいれます。
この(B)を(A)の一番そこにはりつかせたい時にどうすれば
最もよいのでしょうか?

いいアイデアをご教授ください。

Aベストアンサー

こんなのはどうかな?

position: absolute;
bottom: 0px;

Qで文字を右揃えにしたいのですが...(^-^;

こんばんは。私は今HPを作っています。
それで質問なんですけど、
HTMLで<SPAN>ってタグありますよね?
それにCSSを使って(? <SPAN>で囲まれた場所を
文字を右揃えに表示させたいのですが、何故かうまくいきません。
<SPAN style="text-align: right">○○</SPAN>
このようなタグで使いました(上)
何故なのでしょう、教えてください。
よろしくお願いします。

ちなみに、このようなものをつくりたいのです。(下)
リンク集なんですけど;

HPタイトル   管理者名
―――――――――――――――
バナー
―――――――――――――――
このHPの説明

これの管理者名のところを右揃えに表示したいのだが、
うまくいかないのです;<DIV>だと改行されてしまうし...

Aベストアンサー

span要素に対しては、text-alignの指定は有効にならないと思います。 こういった場合、positionプロパティを指定してポジショニングするか、floatプロパティで回り込みをさせるのが良いと思います。
CSSに頼らない方法をとっても良いなら、テーブルでレイアウトするのも手でしょう。

スタイルシートで処理する場合のソースの書き方ですが、以下のようにしてみてはいかがでしょうか。

<div>
<span style="float: right;">管理者名</span>HPタイトル
<hr style="clear: right;">
<img src="*" alt="バナー">
<hr>
<p>このHPの説明</p>
</div>

こうすると、お望みどおりになるのではないかと思います。 なお、「<span style="float: right;">管理者名</span>」これは、回り込みさせるテキストの前、この場合はHPタイトルの前に入れてください。 HPタイトルの後ろに入れてしまうと、管理者名が一段下にずれて表示されると思います。

参考になれば幸いです。

span要素に対しては、text-alignの指定は有効にならないと思います。 こういった場合、positionプロパティを指定してポジショニングするか、floatプロパティで回り込みをさせるのが良いと思います。
CSSに頼らない方法をとっても良いなら、テーブルでレイアウトするのも手でしょう。

スタイルシートで処理する場合のソースの書き方ですが、以下のようにしてみてはいかがでしょうか。

<div>
<span style="float: right;">管理者名</span>HPタイトル
<hr style="clear: right;">
<img src="*" alt="バナー...続きを読む

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

Qtableのcellpadding="0" cellspacing="0"をCSSで

tableのcellpadding="0" cellspacing="0"をCSSで設定する方法を検索したところ、
border-collapse:collapse;
border-spacing:0;
というアドバイスが記載されていました。
実際に使ってみたのですが、
どうしてもセル余白とセル間隔が発生してしまいます。
どうしたらよいですか。

Aベストアンサー

border-spacingはborder-collapseの値がseparateのときしか有効にならないそうです。
http://www.htmq.com/style/border-spacing.shtml

サンプルが
http://www.htmq.com/style/border-collapse.shtml
にあるので参考にしてください。

# それにしてもこんなプロパティがあるとは知らなかった…

参考URL:http://www.htmq.com/style/border-spacing.shtml

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。


人気Q&Aランキング