
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で質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) 画像のファイル形式、拡張子が変わると、性能が変わると思うのですが、ファイル名の「jpg、png、do 8 2022/08/10 13:37
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- その他(プログラミング・Web制作) pythonでDepixを起動 5 2022/12/18 08:04
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- HTML・CSS 角丸画像の背景色を透明にしたいです 1 2023/06/23 23:15
- PDF 画像調整してスクショし保存した画像を印刷する方法 1 2022/03/31 18:42
- その他(プログラミング・Web制作) Leafletで画像をon、offさせる方法について 2 2022/11/01 15:34
- その他(パソコン・スマホ・電化製品) 拡張子の選択方法について 4 2022/09/22 22:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSS <div>の入れ子が反映さ...
-
YouTubeをブログに貼る時、1つ...
-
離れた場所にマウスオーバーで...
-
かなり困っています。知恵を貸...
-
css固定したフッターが本文と重...
-
リンクで違うページの指定箇所...
-
プログラミングでのビンゴマシ...
-
【CSS】floatで左右に並べた...
-
スクロール可能なチェックボックス
-
CSSでテキストの均等割付
-
javascriptテキストBOX色を元に...
-
フォームに入力された値により...
-
MAX関数を使ってからLEFT JOIN...
-
1枚の画像をクリックすると複数...
-
自働生成される<div>タグに連番...
-
javascriptでフォーカスを当て...
-
指定したパスが現URLに含まれて...
-
jQuery bxSlider 画像に変更
-
removeAttribute()メソッドで削...
-
外部javascriptの重複を防ぐには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スタイルシートで画面を上下に...
-
【CSS】floatで左右に並べた...
-
チェックボックスの背景色って...
-
CSS <div>の入れ子が反映さ...
-
HTMLですCSSです 画像のように...
-
CSSで背景を下までのばすには?
-
CSS のみのタブ切り替えについて
-
離れた場所にマウスオーバーで...
-
スクロール可能なチェックボックス
-
htmlのstyleのposition:relativ...
-
文字をクリックしたら別の文字...
-
スタイルシート(CSS)で、高さ...
-
行間
-
Ctrl+F(検索)の窓を出したいの...
-
CSSでフローとした際の親要素の...
-
CSSで(3)段組のページを作り...
-
html スクロール要素を下から表...
-
IE6のレイアウト崩れ
-
CSSでdivのheightを動的に
-
フッター上部に謎の隙間
おすすめ情報