• ベストアンサー

CSSのみでのロールオーバーについて

リストで並べてたテキストにマウスをのせると、別の箇所にある画像が変化するようにしたいのですが、CSSだけでできるでしょうか。 具体的には、A,B,C....というようにテキストのリストを並べて、Aというテキストにマウスを置くと、任意の場所にある画像がAの画像になり、同じようにBというテキストにマウスを置くと、今度はその画像がBの画像に変わるというものです。 Java scriptを使わずおこないたいためアドバイスいただけませんでしょうか。

  • CSS
  • 回答数5
  • ありがとう数3

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

  • ベストアンサー
回答No.2

<div id="div1"> <ul> <li id="li1"><a href="#"> test1 <img src="#" width="100" height="100" alt="test1" /> </a></li> <li id="li2"><a href="#"> test2 <img src="#" width="100" height="100" alt="test2" /> </a></li> <li id="li3"><a href="#"> test3 <img src="#" width="100" height="100" alt="test3" /> </a></li> </ul> </div> #div1{ position:relative; } #div1 ul li a img{ position:absolute; left:-9999px; top:100px; } #div1 ul li#li1 a:hover img, #div1 ul li#li2 a:hover img, #div1 ul li#li3 a:hover img{ left:100px; } で、出来るはずなのですが・・・ FirefoxとOperaでは正常動作を確認。しかしお馬鹿なIEはこのCSSを読んでくれません^^; なので実用的ではないですね・・・ 誰か、IEでも動くようにCSSハック考えて欲しいです。というか私も気になるw

goaldast
質問者

お礼

ありがとうございます。 非常に参考になりました。 やはりIEというのは厄介ですねw

その他の回答 (4)

回答No.5

きましたっ! ANo.2のrainbowsixです。 N_A_Oさんありがとうございます! IEでも動くようになりましたっ! 参照リンクを元に、どの記述が必要だったかを突き止めました。 ANo.2に追加記述してIEでも動かすためには・・・ #div1 ul li a:hover{ background-color: #fff; } を追記するのです。 ・・・何故っ!? なぜこれで動くようになるのかは、皆目わかりません。 が、とりあえず問題解決、ですね^^; 私も大変勉強になりました。

  • N_A_O
  • ベストアンサー率66% (37/56)
回答No.4

ANo.2のCSSをIEで動作させるには。下記参照。 http://moneytreesystems.com/css/picpopup.html

  • ICHI-yan
  • ベストアンサー率33% (45/134)
回答No.3

http://www.lucky-bag.com/archives/2005/08/remote_rollover.html http://www.k5.dion.ne.jp/~i-araki/css/onmouse.html タイプが違うようですが、両方IEでも動きます。下のほうは文字同士でも文字とイメージでもイメージとイメージでもOKみたいです。 800字では説明できません。ある程度cssを理解していれば当てはめられると思います。両者ともポジションをうまく使っておられます。

noname#39970
noname#39970
回答No.1

対象の「装飾の仕方」を指示するのがCSSで、その項目に差し込んだり入れ替えたりするような方式ならば実現できる が、全く違う、孤立した項目を別で操作するというのはCSSのみでは無理 の筈。

goaldast
質問者

お礼

ありがとうございます。 CSSだけではやはり厳しいのかもしれませんね・・・。 もう少しいただける回答を粘ってみたいと思います^^

関連するQ&A

  • CSSで2つのリンクで画像ロールオーバー

    CSSで画像ロールオーバーのような事を実現しようとしています。 【画像】  テキストリンク1、テキストリンク2 【画像2】  テキストリンク3、テキストリンク4 以下同様に テキストリンク1、テキストリンク2のどちらにマウスオンした時も【画像】を変化するようにしたいです。リンク1とリンク2のリンクURLは異なるものですが、画像の変化は同一です。 (これと同様な画像とリンクのセットを、ページ内にいくつも作ることを考えています。) はじめは、以下のようにテキストリンク1にマウスオーバー→1枚の画像を左右に移動させて画像を変化させましたが、リンクが2つになるとうまく動作しなくなりました。 a タグではなく、画像にclassやidをふらないといけないのでは?と考え、いろいろ試してみましたが、うまく動作しません。 何か良い方法はありませんでしょうか?この方法では実現しないでしょうか? <CSS部分> a .gazoumenu { background: url(gazou.gif) left top no-repeat; display: block; width: 20px; height: 20px; padding-right: 25px } a .gazoumenu :hover { background-position: right top; } <HTML> <p><a href="xxx.html" class="gazoumenu">テキストリンク1</a></p> よろしくお願い致します。

    • ベストアンサー
    • CSS
  • CSSでのロールオーバー

    CSSでのロールオーバーについての質問です。 通常時A ロールオーバーB クリック時C この3つの画像を使ってメニューをロールオーバーさせたいのですが、 クリック時に切り換えさせる術を知らず、困っております。 a:link,a:visited{background-image:url(通常時A); a:active,a:hover{background-image:url(ロールオーバーB); でロールオーバーさせることは出来たのですが、クリック(Onclick)時に画像を切り換えることは、CSSで可能なのでしょうか。 宜しく御願い致します。

    • ベストアンサー
    • HTML
  • WordPressで画像のロールオーバーをさせたい

    WordPressのブログや固定ページの記事の中で、 2枚の画像を使って、画像のロールオーバー(マウスオーバー)をさせたいのですが、 やりかたがわかりません。 Java Scriptではなく、CSSで行いたく思い、 検索していろんなサイトに行きましたがうまくできませんでした。 もし可能であれば、単純にこれをコピーしたらできる というCSSをご提示していただけないでしょうか。

  • クリッカブルマップとロールオーバーを同時に使う外部CSSの書き方

    似た質問はあったのですが、解決できなかったので質問させていただきました。 ホームページでクリッカブルマップにしている画像(A.gifとします)があるのですが、 リンクにマウスを乗せたとき、それぞれのリンク別々の画像を表示させたいのです。(ホームページはテキストエディットで作っています)    A.gifの中にリンク1、リンク2、リンク3があるとします。    ●リンク1にマウスが乗ったとき→A.gifがB.gifに変わる    ●リンク2にマウスが乗ったとき→A.gifがC.gifに変わる    ●リンク2にマウスが乗ったとき→A.gifがD.gifに変わる というふうにしたいのですが・・・。 自分で本やネットで探してみたところ、javasprictを使ったやり方はなんとかわかりました。 けれどjavasprictは見る人の環境によって表示されなかったりするし、ソースをシンプルにしたいので、外部CSSでのやり方を探しています。。。 ただのロールオーバーだけなら外部CSSで作ることはできましたが、クリッカブルマップと併用しようとするとわからなくなってしまいました。 独学で作ってきたので説明文など、至らない点があるかもしれないのですが、できるだけ詳しく教えていただければありがたいです。 もし不明な点があれば補足致します。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • TABLEの背景画像をCSSに変更したい。

    今までTABLEを使って背景画像を指定していたのですが、CSSに変更したいと考えています。 現在はTABLEで図1のようにABC A'B'C' A''B''...と連続する背景画像を<図3>のカラム「ロ」に入れています。 これをCSSのbackgroud-imageで指定すると図2のB'ように途中で切れてしまいます。 これを背景イメージA,B,Cのいずれかの境界で背景を終わらせるようにコントロールすることはできないものでしょうか。 CSSだけで指定するのは困難なように思います。 JAVA Scriptとの併用になるのでしょうか。 CSSは基本的な使い方は理解しているつもりですが、JAVA Scriptは読める程度で書くことはできません。 わかりにくい説明で申し訳ありませんがどなたか教えていただければ助かります。 よろしくお願いします。 なお背景画像の高さはA=B=Cです。 背景画像は<図3>のカラム「ロ」、カラム「イ」「ロ」はコンテンツしだいで下に伸びます。 <図1:背景イメージ> ■■■ ┐  ■■■ A ■■■ ┘ □□□ ┐ □□□ B □□□ ┘  ◆◆◆ ┐ ◆◆◆ C ◆◆◆ ┘  <図2:backgroud-imageによる指定> ■■■ ┐  ■■■ A ■■■ ┘ □□□ ┐ □□□ B □□□ ┘  ◆◆◆ ┐ ◆◆◆ C ◆◆◆ ┘  ■■■ ┐  ■■■ A' ■■■ ┘ □□□ ┐ □□□ B'     ┘  <図3:現在のカラム(TABLEで指定)> ┌─────────┐ │┌─┐┌─┐┌─┐│ ││ ││ ││ ││ ││イ││ロ││ハ││ ││ ││ ││ ││ │└─┘└─┘└─┘│ └─────────┘

    • ベストアンサー
    • CSS
  • CSS・HTMLのロールオーバーについて

    テキストリンクにロールオーバーで任意の背景画像を入れるにはどうしたら良いでしょうか。 cssにて:hover擬似クラスで背景画像を指示し、テキストリンクにカーソルを合わせると背景画像が表示されるところまでは出来ましたが、リンク毎に画像を変える方法はありますでしょうか。(:hoverの擬似クラスを増やせば出来るとは思いますが、猥雑になってしまうので…) リンクが画像だったらonmouseoverで指定したことがありますが…。浅学なりに調べながら書いておりましたが、行き詰まってしまいました。 どなたかお知恵をおかしいただけますと幸いです。

  • CSSで画像1枚によるロールオーバー

    CSSの勉強をしているのですが、Fire Fox2.0ではうまく表示されるのに対し、IE6,7では何も表示されず困っています。どこが間違っているのか教えて頂けませんでしょうか?よろしくお願い致します。 作っている物は以下の通りです。(すべて同じ階層にあります) --------------------------------------------------------------- navi.gif(100*30のメニューが横3縦2で300*30の1枚の画像) --------------------------------------------------------------- list.html(とりあえずメニュー1つだけです) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>リストお勉強</title> <link href="list1.css" rel="stylesheet" type="text/css" /> </head> <body> <div class="globalnavi"> <ul> <li id="btn01"><a href="#">リスト1</a></li> </ul> </div> </body> </html> --------------------------------------------------------------- list.css /* CSS Document */ .globalnavi { width:300px; height:30px; margin:0px; padding:0px; text-align:left; } .globalnavi ul { margin:0px; padding:0px; } .globalnavi li { display:block; list-style-type:none; float:left; width:100px; height:30px; margin:0px; padding:0px; background:url(navi.gif)no-repeat; text-indent:-9999px; } .globalnavi li a { display:block; list-style-type::none; float:left; width:100px; height:30px; margin:0px; padding:0px; background:url(navi.gif)no-repeat; text-indent:-9999px; } .globalnavi li#btn01{ width:100px; background-position:0 0; } .globalnavi li#btn01 a{ width:100px; } .globalnavi li#btn01 a:hover{ width:100px; background-position: 0 -30px; }

    • ベストアンサー
    • HTML
  • CSSの画像のマウスオーバーの質問です

    こんにちは [画像A]にリンクをはって、マウスオーバーの時に、[画像B]に切り替わるようにしたいのですが、できません。 ドリームウィーバーのビヘイビアパネル→スワップイメージを使うとできました。 しかし、CSSを使って、マウスオーバー時に画像を切り替えたいのです。 テキストを入れて、テキストインデント、-9999でテキストを飛ばして背景に「画像A」を持ってきて、a:hoverで「画像B」をいれて、マウスオーバーを切り替える。これもできました。 しかし、 <body> <a href="#"><img src="images/gazou.jpg" width="100" height="100" /></a> </body>      ↑ このような画像のリンクにCSSを使ってマウスオーバーの画像切り替えをしたいのです。 どなたか、ご存知の方教えてください。 よろしくお願いします。

    • ベストアンサー
    • CSS
  • CSSで動く画像ロールオーバーの利点について

    javascriptを使わずCSSのみで動かすロールオーバー画像の利点と欠点が↓以外にあれば教えて下さい。私の解釈が間違っていればご指摘願います。 ■利点 1.HTMLのソースが綺麗=ソースコードが軽くなる。 2.検索ロボットが余分なソースを読まなくてもよくなる為、SEO対策に有効。 3.listタグ(UL、LI)はSEOで重みづけが大きい?従ってlistタグで作成されたメニューはロボットに重要視される。 ■欠点 1.CSSファイルが複雑化。 javascriptでもできる事をあえてCSSでしようとする意図がイマイチ掴めません。 また、メニューの背景のみを画像にした場合(メニュー名はテキスト)、CSSもさほど複雑化しないと思いますが、もしメニューひとつひとつを画像にしていた場合はCSSが複雑化しないんでしょうか。

  • ロールオーバーはどちらがよい?

    カーソルを画像に置いたとき変化をさせるロールオーバーにはいろいろありますが ・CSSで画像を読み込ませる方法 ・DreamweaverなどのロールオーバーイメージのJAVAスクリプトでやる方法 とありますがどちらがよいのでしょうか?各々のメリット、デメリットをご教授願います。私としてはできるだけ軽いHPにしたいと思っておりますので負荷の少ない方法を優先させたいです。

    • ベストアンサー
    • CSS