chromeのCSS位置ズレについて

このQ&Aのポイント
  • CSSのpositionを使用して画像を上にかぶせて表示していますが、Chromeだけ15pxほど下にずれてしまいます。
  • display:noneのハックを使用すると反映されますが、positionを使用すると何も反映されなくなります。
  • CSSのpositionには効かないハックがありますか?教えてください。
回答を見る
  • ベストアンサー

chromeのcss位置ズレについて

CSSのpositionで画像を上にかぶせて表示させています。 そこでIE,firefoxはOKなのですがchromeだけ15pxぐらい下にずれてしまいます。 下記の2つのハックを使った場合、display:noneだと反映されたのですが positionにすると何も反映しなくなります。 ハックはpositionには効かない、などあるのでしょうか? どなたか教えていただけますでしょうか。 よろしくお願いいたします。 ----------------------- body:nth-of-type(1) #selector { position : absolute;top:960px;left:0px;filter: alpha(opacity=85);-moz-opacity:0.85;opacity:0.85; } ----------------------- @media screen and (-webkit-min-device-pixel-ratio:0){ #selector { position : absolute;top:960px;left:0px;filter: alpha(opacity=85);-moz-opacity:0.85;opacity:0.85; } }

  • CSS
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • abacabu
  • ベストアンサー率37% (250/663)
回答No.1

趣味でWEBサイトを作成している者です。 あの・・・display:none;で反映されたって・・・消えただけですよね… これは非表示にする物です。 positionとは何ら関係のないものです。 あとposition:absolute;よりもrelativeの方がいいですよ? absoluteだとほかと全く独立して位置決めするので画面上部、画面左右からの指定ですが relativeだと元々出る位置からの指定で、画面倍率の値をいじってもずれません セットで居る為だと思います。 あと上の画像の値にz-index:1;とでも書いて下さい。 これは画面に対して奥(数字が小さい1)手前(数字が大きい10)というz軸を設定する為のものです。 これ入れるとずれないと思います。 同じ位置で重なるとどうしてもずれが出ると思いますので。

その他の回答 (1)

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

HTMLの抜粋がないので何をしたいかいまひとつわからないのですが? absoluteは、親コンテナブロックがstatic以外のとき、親ボックスに対しての絶対配置ですが、一部ブラウザはrelativeに似た挙動をするものがあります。 また画像入れているものをブロックと判断して上下にマージンをとるものもあります。きちんとCSSを理解して対策をすればハックの必要はないはずですが? ★きちんと標準モードで動作するようにDOCTYPEを記述する。 ★画像を含むそのコンテナブロック内の位置をrelativeないabsoluteなどで指定する。 ★その子供要素に関してmarginやpaddingはいったん0にしておく。 とか・・ div.section{padding:0;position:relative;} div.section p.image{position:absolute;margin:0;padding:0;tip:0px;left:0;z-index:1;} とか・・

関連するQ&A

  • オーバーレイについての質問です。

    オーバーレイについての質問です。 #overlay { position: absolute; top: 0; left: 0; width:100%; height: 100%; min-height: 100px; background: #000; z-index: 500; filter:alpha(opacity=90); -moz-opacity:0.90; opacity:0.90; } 上のようなスタイルでオーバーレイを使用しているのですが、 スクロールでするとどうしても下が切れてしまいます。 解決策を教えて下さい。よろしくお願いします。

  • CSS3の新しい書き方教えてください。

    ネットで見ていたところ以下の記述を見つけました。 どうやらCSS3の記述らしいのです。 border: 1px solid #333; -webkit-border-top-left-radius: 3px; -webkit-border-top-right-radius: 3px; -webkit-border-bottom-right-radius: 0px; -webkit-border-bottom-left-radius: 0px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -moz-border-radius-bottomright: 0px; -moz-border-radius-bottomleft: 0px; border-top-left-radius: 3px; という記述は何となく分かるのですが、その頭にある・・・。 -webkit- という記述は何を意味するのでしょうか?? -moz- もそうですね・・・。 先頭の、border: 1px solid #333; に付随する記述だよ!みたいな感じでしょうか? どなたかお分かりになる方いらっしゃいましたらアドバイスをお願いします。 また、何か参考になるサイトなどもご存知であれば、合わせてお教えいただけますと幸いです。 どうぞ、宜しくお願いします。

    • ベストアンサー
    • CSS
  • レイヤーを背景だけ透過させたい

    お世話になります。 レイヤーを背景だけ透過させたく、質問させていただきます。 レイヤーを透過させたい場合、よくスタイルシートのfilterが使われると思います。 たとえば <div style="width:100; height:20; color:#ff0000; background-color:#0000ff; filter:Alpha(opacity=60);"> フィルター適応</div> のようにすると、レイヤー全体が透過されます。 しかし、今回やりたいのは、背景のみが透過し、文字は透過させたくありません。 1つ考えた方法として、 <div style="width:100px; height:20px; top:0px; left:0px; position:absolute; background-color:#0000ff; filter:Alpha(opacity=60);"> </div> <div style="width:100px; height:20px; top:0px; left:0px; position:absolute; color:#ff0000;"> フィルター適応 </div> のように、無理やりレイヤーを2つ重ねて表示できないこともないのですが、もっとスマートな方法はないでしょうか。 ご存知の方がいらっしゃいましたら、ご教授お願いいたします。

    • ベストアンサー
    • HTML
  • CSS3でIE9対応のtransition

    以下のようにCSS3でマウスオーバー時に だんだんと右に動くようにしたいのですが 何か方法はありませんでしょうか? WEBで探してみたのですが、対応方法が見つかりませんでした。 なにとぞよろしくお願いいたします。 .cover { background:gray; width:180px; height:100px; position:absolute; top:0; -moz-transition:left 0.3s ease; -webkit-transition:left 0.3s ease; transition:left 0.3s ease; } .slideleft .cover { left:0px; } .slideleft:hover .cover { left:120px; }

    • ベストアンサー
    • CSS
  • このCSSの番号部分、解説して下さい!

    a:hover img{ opacity:0.5;--------------(1) -moz-opacity:0.5; --------------(2) filter:alpha(opacity = 50);}--------(3) opacityは透明度らしいですが、どうして(1)~(3)の三つも書く必要があるのでしょうか? 検索しても解りませんでした・・ 宜しくお願いします。

  • HTMLやcssに詳しい方教えてください

    HTML、cssに詳しい方、助言お願いします。 footerの部分なのですが、footerより上の部分(サイドのナビやメイン部分)にj Query、javascriptを入れる(入れたのはアコーディオン)と、footerの部分がおかしくなります(footerのbackground-colorが一部消えるなど) どなたか、もしおかしい部分があるのでしたら、おかしい部分の指摘をお願いします。xxxはテキストを入れている部分です。 footerのHTML <div class="footercolor clearfix"> <div id="footer"> <div class="footerbox1"> <ul class="footertext1"> <li><a href="../ranking.html">xxx</a></li> <li><a href="../area-top/area.html">xxx</a></li> </ul></div> <div class="footerbox2"> <ul class="footertext2"> <li><a href="../index.html">xxx</a></li> <li><a href="../site.html">xxx</a></li> <li><a href="../info.html">xxx</a></li> <li><a href="../system.html">xxx</a></li> </ul></div> <div class="footerbox3"> <ul class="footertext3"> <li><a href="../inquiry.html">xxx</a></li> </ul></div> </div> <address class="copyright">Copyright (C) xxx.com 2014 All Rights Reserved.</address> footerのcss .footercolor{ background-color:#FFCC99; } #footer{ width:960px; margin:0 auto; } .footerbox1{ width:320px; float:left; } .footerbox2{ width:320px; float:left; } .footerbox3{ width:320px; float:left; } .footertext1{ text-align:center; margin-top:12px; list-style:none; padding:3px; } .footertext2{ margin-top:12px; list-style:none; padding:3px; text-align:left; margin-left:80px; } .footertext3{ text-align:center; margin-top:12px; list-style:none; padding:3px; margin-left:50px; } .footertext1 a:hover{ filter:alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5; } .footertext2 a:hover{ filter:alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5; } .footertext3 a:hover{ filter:alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5; } .copyright{ clear:both; text-align:center; font-weight:bold; padding-top:50px; padding-bottom:10px; }

    • 締切済み
    • SEO
  • スライドショーが出来ません。。

    web作成は全くの初心者で、今までいろんなサイトの見本のhtmlをコピペしてなんとか少しづつ形にになってきたのですが、どうしてもスライドショーができません、、、 こちらのサイト(http://kowaza.boo.jp/)の<スライドショー>  *  フェードインしながら次々と画像を表示 * というのを参考に作ってみたのですが、全然スライドショーになりません。 何がいけないのか全く分からないのですが、どこかおかしなところがありましたら教えて下さい。どうぞよろしくお願い致します。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>スライドショーの実験</title> <script type="text/JavaScript"> <!-- var myspd = 200;            var myx = 5;             var mypic = new Array("myp1","myp2","myp3");    var mycnt = 0; var myp = 0; function mygo() { document.images[mypic[myp]].filters['alpha'].opacity = mycnt; mycnt += myx; if(mycnt >= 100) { mycnt = 0; myp++; } if(mypic.length <= myp) return; setTimeout("mygo()",myspd); } //--> </script> </head> <body onLoad="mygo()"> <span style=" position:absolute ; top:20px ; left:20px ; z-index:1;"> <img src="top.jpg" width="300" name="myp1" border="0" style="filter:alpha(opacity=0);"></span> <span style=" position:absolute ; top:40px ; left:50px ; z-index:2 ;"> <img src="before.jpg" width="300" name="myp2" border="0" style="filter:alpha(opacity=0);"></span> <span style=" position:absolute ; top:60px ; left:80px ; z-index:3 ;"> <img src="after.jpg" width="300" name="myp3" border="0" style="filter:alpha(opacity=0);"></span> </body> </html>

  • div要素を半透明にして且つ外枠をつけたい

    div要素を半透明にして且つ外枠をつけたいです。 下記のように書いたのですが、borderも一緒に半透明になってしまいます。添付画像の様にするにはどうしたらよいでしょうか? 教えてください。 <html> <head> <style> div{ background: green; opacity:0.2; filter: alpha(opacity=20); border: 1px solid green; } #hoge{ position: absolute; top: 0; left: 50; width :50; height :50; } </style> </head> <body> あいうえお <div id='hoge' ></div> </body>

    • ベストアンサー
    • HTML
  • 背景画像をCSSコードで半透明にしたいのですが・・

    背景画像をCSSコードで半透明にしたいのですが・・ 考えたコードはこのようです。 #sub{ background-image: url(背景画像); background-repeat: no-repeat; background-position: center center; float:left; filter:alpha(opacity=50) opacity:0.5; width:540px; /* D */ height:300px; } これだと背景を半透明にはできませんでした。 どのようにすればいいですか?

    • ベストアンサー
    • HTML
  • cssで文字背景を透明化できますか?

    cssで文字背景を透明化できますか? 文字の背景にbackground-colorで色をつけ、その色を透けて見せたいのですが、 わかりません・・。 「-moz-opacity:50;」とか「filter:alpha(opacity=50);」などで色の透明効果を 出せるとありましたが、ソースをどう記述すればいいのかわかりません。 よろしくお願いしますm(_ _)m

専門家に質問してみよう