• ベストアンサー

Safariでのひどいレイアウト崩れ

現在WEBサイトのコーディングを行っています。 WINDOWSで作業、IEとFirefoxで確認という形で作業をおこなっていました。 今日たまたまMacにふれる機会があり、Safariで作業中のサイトを確認してみると、ひどいレイアウト崩れがおこっていました。 とくに、background-imageの表示のされ方がひどいです。 しらべてみると、Safariではbackground-imageで指定した画像が、領域よりも大きいと、はみ出てしまったりしてしまうそうでした。 これは何か回避方法はないのでしょうか? CSSスプライトでコーディングを行っているため、背景画像として使う画像は基本的に指定する領域よりもおおきくなってしまいます。 背景画像を指定している領域では全てがはみでたり、ずれたりで、本当にひどいことになってしまっています。 初歩的なことかも知れませんが、回避方法をご存知の方がいらっしゃいましたら、おしえていただけないでしょうか? よろしくお願いします。

noname#127481
noname#127481
  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • ayustar
  • ベストアンサー率66% (16/24)
回答No.3

Apple自身のサイトがCSS Spritesを使ってますから、何か回避策(?)はあるはずですよね。 overflow:hidden; は指定していますか? 背景画像なので関係ないかもしれませんが。 あんまり参考にならない回答ですみません。

noname#127481
質問者

お礼

>Apple自身のサイトがCSS Spritesを使ってますから、 盲点でした! 確認しました。本当ですね。 絶対何か回避法はありますね。 >overflow:hidden; やってみたのですが、これはだめでした・・・。 どうやらbackgroundpositionの解釈がちがうのかしら? とおもえてきました。 ありがとうございました。

その他の回答 (2)

noname#106515
noname#106515
回答No.2

バグの例として挙がっているページをWindows版Safari4.03で見たら、 ちゃんと見えました。4で治ったのでしょうか? それとも、Windows版 だから? それはさておき、どこにも回避方法は載ってませんね。というか、 「回避方法:なし」と明言しているところも・・・ これは、CSSスプライトを止めるしかないのでは。 #1さんの回答に反論することになりますが、Macユーザーを無視する のでない限りSafariは無視するべきではないと思います。 (実は、質問者さんには失礼ながら、私にとっての本題はココ) Cromeを使っているユーザーは、他人が設定したパソコンを使っている 場合を除き、自分で意識してインストールしています。なので、 おかしな表示になれば、他のブラウザ(WindowsならIE、MacならSafari 等)で試してくれます。 それに対して、MacのSafariユーザーは最初から入っているものを 意識することなく使っている人が多いです。ブラウザに選択肢がある ことを知らない、それどころか「ブラウザって何?」レベルの人も 多いでしょう。そんな人たちは、表示がおかしなサイトは、壊れた サイトと見なして二度と訪れてくれなくなります。

noname#127481
質問者

お礼

そうなんですよね。 Safariが少なくなったとは言え、Macの標準装備ですものね。。。 SafariのWindows版だと問題なく見えるのです。 >これは、CSSスプライトを止めるしかないのでは。 やっぱりそうですよね(泣) かなりページ数があって、今から修正となると、画像作成からやり直しになってしまって。。。あぁ。やっかいです。 回避法なし、って結構どのサイトにも書いてあったので、 もし知っている方がいれば・・・と思ったのですが。 はじめから気づいていれば。 自分の非力を感じます。 ご回答ありがとうございました。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

回避方法の回答とは違いますが、 ブラウザーにおけるSafariのシェアーって、 http://www.yomiuri.co.jp/net/news/cnet/20091216-OYT8T00534.htm によると、今日現在、約4%ぐらいですね。Chromeにも抜かれたみたい。 もっとも、MACのユーザーも少なくなってますけど。 この際、無視するのも一つの解決策かと。 Webページ作成者が企画に沿わないブラウザーを無視しつづければ、 ブラウザーの自然淘汰が進むなんて事はありえないけど...

noname#127481
質問者

お礼

ご回答ありがとうございました。 とても参考になりました。 どこまで対応するかっていうのは、本当に難しい問題ですよね・・・;

関連するQ&A

  • safariでサイトのレイアウトが崩れるのですが、

    safariでサイトのレイアウトが崩れるのですが、IEでは文字を固定する事で、回避できましたが、safariでは表示サイズを拡大したりすると、サイトのレイアウトが崩れます、、、解決策はありませんでしょうか?。自分は、ビルダーを使っています。 自分のサイトはhttp://verifychains.6.ql.bz/です。

  • body指定したimgが複雑なデザインでレイアウト

    お世話になります。 現在作成しているサイトに関しての質問です。 bodyにbackground-image指定である画像を配置しています。 それはよくあるデザインレイアウトの仕方だと思いますが、問題はデザイン的な要素がdiv#contens部分(#leftmenuや#rightmenu含む)の領域まで影響しているということです。(※添付画像参照) デザイン的にdiv#headerの領域を中心としたデザインなので、うまく上下のバランスをとってrepeat-yすることもできません。 このIMGのheightを2500pxほどの大きな画像にして配置していました。そうするとPCで閲覧した時は、問題なく見れますが、iPadやスマートフォンで閲覧すると背景のみ大幅に縮小されて表示されレイアウトが崩れます。 かといってheightをiPadやスマートフォンで普通に閲覧できるサイズの1024pxにすると、当たり前ですが今度はコンテンツの途中で画像が切れます。ちょっとボリュームのあるページで画像が切れます。 コンテンツ部分の背景は白なので、div#contensにbackground-color指定することも考えましたが、そうするとbodyのbackground-imageの上に白がのってきてやはり見栄えが悪いです。 いろいろ手を尽くしましたし、検索したりしましたが、どうしてもいい解決策がありません。 bodyにbackground-imageをrepeat-yさせずに、それでもdiv#contensに情報量に応じて背景を可変させたい場合、何かいい方法はあるのでしょうか。恐らく考え方自体を全く新しい方法を取らなければならないかと思いますが、どうかご教授ください。うまく説明できたか自信がありませんが、よろしくお願いします。

    • ベストアンサー
    • CSS
  • ホームページレイアウト

    いつもお世話になっております。 ホームページ制作をしています。(が、未熟者です。) Illustrator8でデザイン・レイアウト作成→ある程度OKが出たらイラレデータを分解・画像化→Dreamweaver8でコーディングという流れです。 自分でイラレ上レイアウトをする場合はコーディングのことを考えて行うのですが、今回別の方がイラレデータをつくり、コーディングのみを行うことになりました。 あまりHPやDreamweaverに詳しくなく、イラレのプロな方なので、重なった画像を多用したりと、Dreamweaverでのレイアウトが難しいものを出されてしまいました。 具体的には複数の写真が重なり、その写真から吹き出し(イラスト)が出ているというものです。 それだけなら画像として扱えばいいのですが、吹き出しの中の文字はDreamweaverで打たないと読めないのです。 こういう場合は、まず吹き出し中の文字を消した画像データを用意→Dreamweaverでテーブルを作り背景画像にする→テーブルをうまく吹き出し部分に合わせ文字を打つ という方法しか思いつかないのですが、間違っているでしょうか? テーブルレイアウトはよくないと言われますが、この場合もCSSなどででいけるものでしょうか?(CSSレイアウトは勉強中で詳しくありません。) 恐れ入りますがご回答お待ちしております。 長文失礼致しました。

  • HP作成で、safariで閲覧すると、bodyの背景が固定されたままで

    HP作成で、safariで閲覧すると、bodyの背景が固定されたままで全体のデザインが崩れてしまいます。 http://www.equal-825.com IEで閲覧すると問題はないのですが、safariで確認すると、bodyの背景画像が固定されてしまっていて、センター部分とずれてしまいます。 作成しているデザイン上、bodyの背景と中央部分がつながるように見えないとおかしいので困っています。 現在の設定は body { margin : 0px auto; text-align : center; background-image : url("img/back-main.jpg"); background-repeat : no-repeat;  background-position: center top; } です。 background-attachment : scroll ; を入れてみても結果は一緒でした。 すごく簡単な事のようですが、解決しません。 教えてください! 他のブラウザではまだ確認しておりませんが・・・。

    • ベストアンサー
    • HTML
  • Safariで画像が出ません!

    WinXPにてHPを作っています。 WinではIE7、IE6、NN7、FireFox、Opera MacではIE、FireFox、Opera、Safari で動作・レイアウトの確認をしています。 何故かSafariのみ、以下のタグを入れたページの背景画像が出ず真っ白な画面になってしまいます。 どこに間違いがあるのかさっぱりわからないんです… ご存知の方、教えて頂けるとありがたいです!! 宜しくお願い致します。 タグ一覧↓ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <BASE target="_parent"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Imagetoolbar" content="no"> <meta name="robots" content="noindex, nofollow,noarchive"> <meta name="GOOGLEBOT" content="NOINDEX, NOFOLLOW, NOARCHIVE"> <TITLE>top</TITLE> <STYLE type="text/css"> <!-- BODY{ background-color : black; background-image : url("****.gif"); background-repeat : no-repeat; background-position:25% 0%; } --> </STYLE> </HEAD> </HTML>

    • 締切済み
    • CSS
  • 下記サイトみたいな大胆なデザインとなる背景をcssでレイアウト設定する

    下記サイトみたいな大胆なデザインとなる背景をcssでレイアウト設定するには? お世話になります。css初心者です。 このサイトみたいに、http://www.blackcatpedals.com/pedal_od_1.html (1)ヘッダー部分のデザインがコンテンツ部分にまで関わっている(参考サイト→top左上のエフェクター写真みたいなデザイン) (2)コンテンツ枠の背景(参考サイト→情報が表示される部分=中央白部分/両サイドに暗い壁のような背景)をtopから表示させ、情報量でheightが可変してもコンテンツ枠全体が違和感なく表示されている といったデザインのwebサイトを制作したいと考えています。 自分は全体の背景を#bodyにbackground-image no-repeatで表示していますが、#contensのbackground-colorを指定すると、ヘッダーからコンテンツ部分にまで関わっている上部のデザインが塗りつぶされてしまいます。 かといって、background-colorを指定しないと、背景が切れてしまいレイアウトが崩れます。これを解決するにはどうしたらよいのでしょうか? 参考サイトはどのようにcssを組んでいるのでしょうか? どなたか教えてください、よろしくお願いします。

    • ベストアンサー
    • HTML
  • safariで webの画像がちゃんと表示されない。 小さなブルーボッ

    safariで webの画像がちゃんと表示されない。 小さなブルーボックスに?マークがでるのはなぜ? 作成中のホームページをsafariで開いてみたらimgで貼付けた画像が見えるが、横に 小さなブルーボックスに?マークがでてきます。  サファリの環境設定でページを開く時に画像を表示にもチェックマークが入っていても同じです。 回避方法ご存知の方、おしえてください。 ナビゲーションメニューを画像にて貼付けてます。 マウスオーバーで画像の色が変わる設定です。 html側 <ul> <li><a id="top" href="#">top</a></li> <li><a id="top2" href="#">top2</a></li> <li><a id="top3" href="#">top3</a></li> <li><a id="top4" href="#">top4</a></li> </ul> cssで背景画像として入れています。 #top{ background-image:url(../image/top_g.png); width:140px; height:25px; margin-left:40px; } #top:hover{ background-image:url(../image/top.png); }

    • 締切済み
    • CSS
  • GO LIVE5.0でレイアウトグリッドの背景のみに写真を配置したい

    お世話になります。 GO LIVE5.0でHPを作成しているのですが 指定のレイアウトグリッドの背景にうすい写真をひいて その上でそのレイアウトグリッドを作業したいのですが それってどうやったらできるでしょう? ちなみに指定のレイアウトグリッド以外はCSSで小さな画像を敷き詰めたいと思っています。 独学で作成していますのでまだよく分からないところが多々あって ご迷惑おかけしますがよろしくお願いします。

  • 背景画像とファイルをレイアウトしたい

    イメージファイルをマウントさせた時に背景画像を表示させさせたいです。 各ファイルもレイアウトしたいです。 このようなISOイメージファイル作成するアプリないですか? 背景画像とファイルをレイアウト出来ればインストーラ形式でもいいです。 MAC用ではこのようなアプリです。 http://www.infinisys.co.jp/product/dropdmg/

  • macの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; }

    • ベストアンサー
    • CSS

専門家に質問してみよう