
No.3ベストアンサー
- 回答日時:
No.1です。
すみません。初歩的なミスが二つほど
・contentプロパティは内容の追加ですが、:before,:after擬似要素と組み合わせなければなりませんでした。
・img要素には内容がないため内容の追加は出来ないのでした。
⇒12. 生成内容、自動番号振り、リスト( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
※:before擬似要素だと内容の前に追加されるため後続の本来の内容の下になってしまうので(z-indexプロパティで前面に移動させる必要がある)、:after擬似要素の方が良いです。
<!-- タブの代わりに全角スペースでインデントさせてます -->
<p class="figure" id="jpg01">
<img src="./images/03.jpg" width="350" height="350" alt="">
</p>
<p class="figure" id="jpg03">
<img src="./images/03.jpg" width="350" height="350" alt="">
</p>
<p class="figure" id="jpg05">
<img src="./images/03.jpg" width="350" height="350" alt="">
</p>
p.figure{position:relative;}
p.figure:after{position:absolute;top:0;left:0;}
p#jpg01:hover:after{content:url(./images/02.jpg);}
p#jpg03:hover:after{content:url(./images/04.jpg);}
p#jpg05:hover:after{content:url(./images/06.jpg);}
親要素にposition:relativeが指定されている理由などは、ご自身で確認して自家薬籠中のものとしてください。
回答ありがとうございます!
さすがORUKAさんとしか言いようがないです。
完璧な回答ありがとうございました。
今回分からない事が多かったのでいただいた情報を元にもっと勉強をしようと思います。
いつもありがとうございます。
No.4
- 回答日時:
すみません。
理解が不足しておりました。以下でよろしいでしょうか。b画像は最初は非表示 →マイナスの数値で画面からはみ出させる
b画像が重なったら処理は終了 → Henkou2は不要
<html>
<head>
<title>オンマウスで画像表示を入れ替え</title>
<script type='text/javascript'>
function init(){
document.getElementById('id1').style.position = 'absolute';
document.getElementById('id1').style.top = '50px'; //1枚目の画像の最初の位置
document.getElementById('id1').style.left = '50px'; //1枚目の画像の最初の位置
document.getElementById('id2').style.position = 'absolute';
document.getElementById('id2').style.top = '-2000px'; //2枚目の画像の最初の位置
document.getElementById('id2').style.left = '-2000px'; //2目目の画像の最初の位置
}
function henkou1(){
document.getElementById('id1').style.zIndex = 1; //1枚目の画像表示を下
document.getElementById('id2').style.zIndex = 2; //2枚目の画像表示を上
document.getElementById('id2').style.top = '100px'; //2枚目の画像位置
document.getElementById('id2').style.left = '100px'; //2目目の画像位置
}
</script>
</head>
<body onload='init()'>
<div id='id1'><img src='aaaa.jpg' onmouseover='henkou1()'></div>
<div id='id2'><img src='bbbb.jpg'></div>
</body>
</html>
まだ間違っていたら言ってください。
回答ありがとうございます。
僕の説明不足でしたが、マウスアウトすると2毎目の画像を外す必要がありました。
しかし、マウスオーバー後、画像をずっと重ねるときはぜひ使用させていただきます。
回答していただきありがとうございます。
No.2
- 回答日時:
2つの画像の処理だとすれば、以下でどうでしょうか。
<html>
<head>
<title>オンマウスで画像表示を入れ替え</title>
<script type='text/javascript'>
function init(){
document.getElementById('id1').style.position = 'absolute';
document.getElementById('id1').style.top = '0px'; //上からの位置
document.getElementById('id1').style.left = '0px'; //左からの位置
document.getElementById('id1').style.zIndex = 1; //まずは下なので 1
document.getElementById('id2').style.position = 'absolute';
document.getElementById('id2').style.top = '50px'; //上からの位置
document.getElementById('id2').style.left = '50px'; //左からの位置
document.getElementById('id2').style.zIndex = 2; //まずは上なので 2
}
function henkou1(){ //1番の画像へマウスオーバー
document.getElementById('id1').style.zIndex = 2;
document.getElementById('id2').style.zIndex = 1;
}
function henkou2(){ //2番の画像へマウスオーバー
document.getElementById('id1').style.zIndex = 1;
document.getElementById('id2').style.zIndex = 2;
}
</script>
</head>
<body onload='init()'>
<div id='id1'><img src='aaaa.jpg' onmouseover='henkou1()'></div>
<div id='id2'><img src='bbbb.jpg' onmouseover='henkou2()'></div>
</body>
</html>
回答していただきありがとうございます。
上記のやり方を試してみたのですが、ダメでした。
初めから2枚の画像が表示されてしまいます。
2枚目の画像がtop 50px left 50pxとjavascriptで指定いますので
上、左、50pxずれた状態で表示されています。
pxを0にして
overflow:hidden;とかやってみてもダメでした。
上記のやり方はid1の画像にid2の画像が重なるという認識でいいんですよね。
思ったのですが、
onmouseover='henkou1()'
この部分のhenkou1()にマウスオーバー後のurlを入れるのでしょうか。
無知で申し訳ありませんがよろしくお願い致します。
No.1
- 回答日時:
ふたつの画像のサイズは???
上に来る画像は透過???
:hover擬似クラスを使います。
HTMLの文書構造が分からないと具体的には無理です。
例えば、写真があって、その写真に:hoverすると、新しい写真をそれに重ねる
<p class="figure"><img src="./images/photo.jpg" width="" height="" alt=""></p>
p.figure{position:relative;}
p.figure img[src="./images/photo.jpg"]:hover{content:url(./images/photo.2.jpg);position:absolute;top:0;left:0;}
回答していただきありがとうございます。
ふたつの画像のサイズは
350px × 350pxです。
上にくる画像のサイズも同じサイズで透過画像のpngになります。
教えて頂いた通り試してみたのですが、マウスオーバーしても変わりませんでした。
動作結果
マウスオーバーすると画像が5pxほど下に動きました。
同じ画像サイズの場合は上記のタグではダメなのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンクで違うページの指定箇所...
-
positionのrelativeとabsolute...
-
Ctrl+F(検索)の窓を出したいの...
-
CSSでクラス名を指定してもうま...
-
Javascriptで指定した日付と時...
-
Nivo Sliderのエフェクトについて
-
libjpegライブラリの使い方につ...
-
Excel VBAに翻訳して頂けません...
-
window.openで値の渡し方を教え...
-
-UWSC:IEで自動クリック-
-
MAX関数を使ってからLEFT JOIN...
-
Dreamweaverで正規表現
-
Javascriptで現在のページ番号...
-
img 上の任意の座標範囲の色を...
-
html内にスライドショーを複数設置
-
画像を切り替えランダム表示
-
指定字数以降隠す
-
【HTML、VBScript】HTAでのイベ...
-
スライドショー「Skitter」をカ...
-
JSPでの画像ファイル表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html スクロール要素を下から表...
-
Ctrl+F(検索)の窓を出したいの...
-
スライダーの枠に動画を収める...
-
【CSS】floatで左右に並べた...
-
CSS <div>の入れ子が反映さ...
-
Webサイト作成 プログレスバー ...
-
css固定したフッターが本文と重...
-
列の数を変更する Javascript...
-
jqueryのstickyプラグインを利...
-
CSSについてです。
-
画像の特定の座標にカーソルが...
-
for (let i = 0; i < 5; i++) {...
-
離れた場所にマウスオーバーで...
-
3点リーダーの作り方
-
フッター上部に謎の隙間
-
中身がフロートしかなくてもボ...
-
文字をクリックしたら別の文字...
-
CSSで背景を下までのばすには?
-
【html5】canvasでの文字の形の...
-
JQuery UIを使用したドラッグ&...
おすすめ情報