🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1084閲覧

<li>内の画像をhoverで切り替え

ojreee

総合スコア8

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/12/16 05:02

編集2020/12/16 05:09

前提・実現したいこと

<ul> <li><img src="A画像"><img src="a画像">aaa</li> <li><img src="B画像"><img src="b画像">bbb</li> <li><img src="C画像"><img src="c画像">ccc</li> <ul>

の各imgをホバーして各々で別の画像に切り替えたいです。

発生している問題・エラーメッセージ

hover後の画像サイズの指定方法がわからず原寸大になります。
各々ではなくli全体に効いてしまう。
→li要素のどこにカーソルを当てても一番上の"a画像"が原寸大で表示されます。
参考したコード

こうなってしまいます。
イメージ説明

該当のソースコード

<div class="example"> <p>title</p> <div class="img-box">   <ul> <li><img src="A画像"><img src="a画像"class="active">aaa</li> <li><img src="B画像"><img src="b画像"class="active">bbb</li> <li><img src="C画像"><img src="c画像"class="active">ccc</li> <li><img src="D画像"><img src="d画像"class="active">ddd</li> <li><img src="E画像"><img src="e画像"class="active">eee</li> </ul> </div> </div>
.example{ text-align: center; padding: 10px 0px; border-bottom: solid 1px #fff; } .example ul{ display: flex; list-style: none; justify-content: space-around; } .example li{ width: 20%; text-align: center; color: #142e52; } .example img{ width: 100%; } .example p{ color: #142e52; margin: 0; font-size: 15px; } .img-box { position: relative; } .img-box .active { position: absolute; left: 0; top: 0; opacity: 0; transition: 0.5s; } .img-box:hover .active { opacity: 1; }

試したこと

<div class="img-box">の削除 .img-box→.exampleにまとめる

.activeにwidth100%サイズ指定
→liの幅100%にしたかったため、しかし100%のためか原寸大に

このへんかな…と思うところを色々触ってみたのですがやりたいことが上手く記述できずダメでした。
liなのが原因でしょうか。

このような感じにしたいです。
イメージ説明

よろしくおねがいいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

下記の2点を修正してください。

css

1.img-box li{ /* 修正 */ 2 position: relative; 3} 4.img-box .active { 5 position: absolute; 6 left: 0; 7 top: 0; 8 opacity: 0; 9 transition: 0.5s; 10} 11.img-box .active:hover { /* 修正 */ 12 opacity: 1; 13}

投稿2020/12/16 06:12

hatena19

総合スコア34073

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ojreee

2020/12/16 06:33

大変ありがとうございました。 無事動作致しました。助かりましたm()m
Lhankor_Mhy

2020/12/16 06:35

こっちの方がスマートですね……
guest

0

ベストアンサー

こんにちは。

サンプル

css

1.img-box .active { 2 position: absolute; 3 left: 0; 4 top: 0; 5 opacity: 0; 6 transition: 0.5s; 7 pointer-events: none; /* 追加 */ 8} 9.img-box img:hover + .active { /* 変更 */ 10 opacity: 1; 11} 12li{ /* 追加 */ 13 position: relative; 14}

投稿2020/12/16 06:03

編集2020/12/16 06:06
Lhankor_Mhy

総合スコア36946

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2020/12/16 06:04

ああ、サイズの問題もあるのか……
ojreee

2020/12/16 06:34

大変ありがとうございました。 サイズも動作も無事できました。助かりましたm()m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問