• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSSの配置 absolute について)

CSSの配置 absolute について

このQ&Aのポイント
  • 自身の運営するウェブサイトにて、画像の保存・転載を防止するためにjQueryプラグインを導入したいが、ズレて表示される問題が発生している。
  • position:absoluteを使用したことがなく、問題の原因がわからない。
  • absoluteであればrelativeを与えた親要素を基準に配置されると理解しているが、目的の形にできない。解決方法を教えてほしい。

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

  • ベストアンサー
  • warpspace
  • ベストアンサー率56% (83/147)
回答No.2

ANo.1の補足です。 配布元のスクリプトを見たところ、透過画像の追加先が決め打ちでbodyになっていますね。   .appendTo('body') これが問題で、元画像の親要素でrelative属性のブロックに追加するように、修正が必要の ようです。 質問者のHPの構成を十分に調査・理解していないので、申し訳ありませんがアドバイス できるのはここまでです。がんばってください。

noname#190047
質問者

お礼

再度、ご回答頂きありがとうございます。 確かにその部分で追加先を決めるということなので、body以外の適切な要素を指定することで解決ができそうですね。 少し試してみてまだ解決には至りませんでしたが、重要なアドバイスをありがとうございました。

noname#190047
質問者

補足

先にお礼を書いてしまったので、こちらで報告させて頂きます。 アドバイスを頂いた部分で要素指定をすることによって、うまく画像にかぶせることに成功しました! 昨晩からずっとわからずに悩んでいた部分だったので大変助かりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

了解しました。(^^) その画像を含むブロック要素にposition:relative;を指定して、その要素に:afrer{content:"";display:block;width:100%;height:100%;position:absolute;}でよいです。  これは先の回答、そのままです。jqueryは必要ありません。 ★contentで追加される要素は、元要素がblockならblockに指定できます。 ★afterは必ず後になるので、同サイズのブロックをかぶせれば利用できなくなります。 ★画像要素は内容を持たないため、内容の追加は出来ません。(当たり前ですが)

noname#190047
質問者

お礼

ご回答ありがとうございます。 確かにその方法であればPCブラウザでの画像保存は防ぐことはできますが、スマートフォンでの長押しによる保存には対応できませんでした。 長押しによるメニュー表示をオフにする方法は最近のスマートフォンには効かないため、jQueryによる透過画像をかぶせる方法がもっとも目的に沿うと考えています。 私のウェブサイトの場合、スマートフォン等で保存するライトユーザーが非常に多く、これまで無断転載した方を見てもそのような印象が強いため、これをターゲットに考えても保存防止策を講じようとしています。

全文を見る
すると、全ての回答が全文表示されます。
  • warpspace
  • ベストアンサー率56% (83/147)
回答No.1

「class="protect"」を指定しているimgタグの、直近の親要素のDivタグに下記のように relativeを指定したら、解決しませんか?。 <div class="entry"> → <div class="entry" style="position:relative;">

noname#190047
質問者

お礼

ご回答ありがとうございました。 アドバイスを頂いたとおり、entryクラスに指定してみましたが、さらに少し上にズレただけで画像の上にはきませんでした。 今の状態はどこが基準点になっているのかわからず、混乱しています…。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • css 配置 absolute について

     自身の運営するウェブサイトにて、画像の保存・転載を防止したい(完全に防ぎきれないことは重々承知しています)と考え、以下のjQueryプラグインを導入しようと試みておりますが、自らの知識では解決できない問題が生じたため、お力をお借りできればと思います。 配布元:http://davidwalsh.name/image-protector-plugin-for-jquery 参考:http://www.css-lecture.com/log/javascript/dwimageprotector.html  このプラグインは画像の上に透過画像の載せることで元画像の保存等を防止するものですが、自身のウェブサイトに導入した結果、下記のページのように透過画像(分かりやすいように色付きの画像で表示しています)が元の画像からズレて表示されてしまいました。適用しているのは記事本文の最初の2枚の画像(800px×531px)と下から2枚目の画像(531px×800px)です。 http://www.disneycolors.net/blog/easter-in-newyork-2013-01.html  position:absoluteを今まで使用したことがなく、この問題の原因がよくわからずにいます。解決方法についてご教授をお願い致します。

    • 締切済み
    • CSS
  • 配置方法してするpositionの相対位値。

    positionの相対位置の意味がわかりません。 position:relative; top:30px; left:50px; とした場合。 どこからの距離を言っているのでしょうか? position:absolute; top:30px; left:40px; にすると、画面の上から30ピクセル、左から40ピクセルの位置ですよね? これを position:relative;にすると、どこからどこまでの距離なのかがわからないのです。 よろしくお願いします。 また、HTMLなどによく出てくる「相対」という言葉がいまいちわかりません。 もちろん「絶対」という言葉もわからないのですが・・・。

    • 締切済み
    • CSS
  • CSS 配置 Absolute、Margin

    お世話になります。 CSSを使用してWebサイトを作成しているのですが、ある画像の上にもう一つの画像を重ねたいと思っています。そんな時まず後ろの画像を配置し、その次に上に重ねる画像をPosition:absolute; margin:xxpx; として表示させています。IE以外で表示されるのと、IEで表示される位置が違うので困っています。 とりあえず画像の表示方法は以下のよう HTML <div id="a"> <img src="aaa.jpg"> <div id="b"></div></div> CSS #a {float:left; overflow:hidden;} #b {position:absolute; margin:-40px; height:10px; width:20px; background:url(aa.jpg);} IEすべて同じように表示されるのかと思いましたが、今日学校のPCで見たところ、IE以外のブラウザで表示されるのと同じように表示されていました。 今のところはIEのみのCSSとその他のCSSとの設定でやりくりしていますが、すべてのブラウザでどんな場合も同じように(まったく同じは無理だとは思いますが)表示させる方法を教えてください。 CSSを使い分けたりするのではなく。一つのCSSだけで;

  • 画像をホバーした時一つだけ半透明にしない

     img {  transition: 1.0s ; }  img:hover {  opacity: 0.5 ; } を使って画像をゆっくり半透明になるようにしています それと .relative { position: relative; } .absolute { position: absolute; left: 4px; top: 23px; } で画像に画像を重ねているのですが、 その時に重ねた小さい画像だけを半透明にしないようにしたいのですが それはどうすれば良いでしょうか?

    • ベストアンサー
    • CSS
  • 「CSS」 POSITION:absoluteの値を参照する

    いくつかの画像を <div STYLE="POSITION:absolute; LEFT:***px; TOP:***px;"> <img src=""・・・・> </div> のようにして表示させているのですが、 このLEFTの「*** px」という値をjavascriptなどで参照するというのはできるのでしょうか。 100px以上に位置する画像に何か効果を持たせるというようなことをやりたくて、 いろいろ調べては見たのですがわかりません。 そもそもできるかどうかという事も含めて、何かご存知の方よろしくお願いします。 環境は何を載せたらいいかわかりませんが、一応・・・ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ブラウザはIE7で表示させようとしています。

    • ベストアンサー
    • HTML
  • 可変幅でabsolute指定で中央配置できません

    可変幅でabsoluteを指定すると中央配置できなくなります。 ブラウザの幅に合わせて中身のサイズも合わせて伸縮するサイトを構築したくて色々試しているのですが、どうしてもうまくできません。 どのように指定したらできるのでしょうか?困っています、どなたかお助けください。 例えば画像が固定のサイズであれば  width:500px; position:absolute; left:50%; margin-left:-250px; 見たいな形で中央配置できるのですが、可変の場合、、伸縮させたいので、横幅は常に500pxとはなりません。 よろしくお願い致します。

    • ベストアンサー
    • CSS
  • 中央寄せに対するabsolute配置

    中央寄せされたページの右上あたりに画像を配置したいのですが、 重要でないものなのでHTMLの下のほうに書いています。 普通に position:absolute; で持ち上げると、画面左上が基準であるためモニターサイズによって中央寄せ部分との位置関係が狂ってしまいますよね? かといってmarginにマイナスを指定したくありません。 そこで、画像の入った要素を最上部(top:0px)の中央(left:50%)に絶対配置し、そこからimgを絶対配置でleft:100pxのように右に動かしてみました。 IEやFirefox、Opera、Chromeなど、思いつくブラウザで見たところ問題ないのですが、Dreamweaver CS4のライブビューで見るとずれています。 たしかWebkitがエンジンだったと思うのですが、もっと賢いやり方はありませんか?

    • ベストアンサー
    • HTML
  • アメブロcss 画像を好きなところに配置

    アメブロをやっています。 新cssを使用しているんですが、画像を好きなところに配置(添付画像の水色のハートの位置とかに)しようとするため各サイトをまわり、探しています。 画像はリンクなし、固定にしたいです。 新css用の画像を好きなところに配置するタグを見つけて実行したんですがF5を押しても、何回やっても画像の半分が記事欄の後ろに行きます。 そこから位置をいじっても動きません。 貼り付けているのはこのタグです。 cssへは↓ /* ------------------------------------------------------- */ /* 絶対配置起点を設定 画面の大きさを変えて同じ位置に */ /* ------------------------------------------------------- */ .skinFrame2{ width:1000px;/* コンテンツ幅を設定 */ margin:auto;/* 自動中央寄せ */ position:relative;/* 起点指定 */ } #bk001{ position:absolute; top:220px; left:200px; z-index:99;/*重なりの順序*/ } #aifurex1{ position:absolute; top:220px; left:200px; width:130px; height:150px; overflow:auto; background-color:transparent; z-index:100;/*重なりの順序*/ } フリースペースには↓ <img src="画像のURL" id="bk001"> <div id="aifurex1"> 文章 </div> 画像URLはアメブロの画像フォルダ→画像URLをコピーからペーストしています。 今までいろんなタグでやってきましたがいい加減できないので詳しく教えていただけると助かります。

  • CSSのdivのposition:relative;で位置がずれない

    IE6を使用しています。 次のような 「sample.css」 .sample {height:90px; background-color:#00ff00; font-weight:bold; position:relative; top 40px; } .sample2 {color:#ff0000; position:absolute; top:10px; left:10px } .sample3 {color:#ff0000; position:absolute; top:30px; left:30px } 「a.html」 <html> <head> <link rel="stylesheet" href="sample.css" type="text/css"> </head> <body> <div class="sample"> position:relative <div class="sample2"> sample2 </div> <div class="sample3"> sample3 </div> </div> </body> </html> を実行した場合に、ブラウザのトップから40pxだけ下にclass="sample"にある内容を 表示させたいのですが、どうも下にずれてないようなのです・・・ 何が原因なのでしょうか?

    • ベストアンサー
    • HTML
  • ウィンドウの縮小に合わせて変化させるには?

    WEBデザインの質問です。 添付画像のようなものを作りたいのですが、ウインドウの幅を小さくした時に、 自動的にそれに合わせて画像も小さくなってもらいたのですができません。 どのようにhtml,cssを書いたらいいですか? 画像4の上に、画像1,2,3があって、背景、画像1,2,3がメニュー(後で画像にリンクを追加したい)のようなイメージです。 そこで今、画像4は縮小に合わせて一緒に縮んでくれるのですが、 画像1,2,3は色々試してみたのですが変化がありません。 html↓ <body> <article> <div class="relative"> <img src="/../../画像4.gif" class="img-responsive" alt="" /> <img src="/../../画像1.gif" alt="" class="absolute" /> <img src="/../../画像2.gif" alt="" class="absolute2" /> <img src="/../../画像3.gif" alt="" class="absolute3" /> </div> </article> </body> CSS↓ @charset "utf-8"; .img-responsive { display: block; max-width: 100%; height: auto; } .relative { position: relative; } .absolute { position: absolute; top: 515px; left: 185px; } .absolute2 { position: absolute; top: 515px; left: 535px; } .absolute3 { position: absolute; top: 515px; left: 888px; } 初めてhtmlを書いているので、変な質問をしていたらすみません。 お早めな回答をいただけると助かります。 よろしくお願いいたします。

    • ベストアンサー
    • CSS
このQ&Aのポイント
  • 顔の大きさの違いは、遺伝や成長過程など様々な要因によって生まれます。
  • 一般的に、成長期において顔の骨格や筋肉の発達が影響を与えると考えられています。
  • また、遺伝的な要素も大きく関与しており、親からの遺伝によって顔の形や大きさが受け継がれることもあります。
回答を見る

専門家に質問してみよう