マウスを乗せると背景色が変わる仕組み

このQ&Aのポイント
  • マウスを乗せると背景色が変わる仕組みは、a=hoverという属性を使用することで実現できます。
  • しかし、普通の文章中に出てくるリンクには同じ設定が適用されてしまうため、CLASSを使用して個別に設定することはできません。
  • そこでJavaScriptを利用することで、マウスを乗せるとリンクの背景色を変える仕組みを実現できます。具体的なソースコードは以下の通りです。
回答を見る
  • ベストアンサー

マウスを乗せると、背景色が変わる仕組みは知ってるんですが・・。

マウスを乗せると背景色が変わる仕組みは、たしかa=hoverで可能でしたよね。 そこで問題が発生しました。 私は今サイトを作っていて、左側のメニューバーについてはマウスを乗せると背景色が変わるリンクにしたいんですが、普通の文章中に出てくるリンクについてはそういう仕様から外したいんです。 でもa=hoverを使うと全てのリンクに同じ設定が適合されてしまいますよね?CLASSで個別に設定しようとしても無理でした。どうすればいいですか? そこでJAVASCRIPTというものを利用して、マウスを乗せるとその文字背景(もしくはボックス内の背景)が 変わる仕組みを実現できるはずなんですが、具体的なソースコードは知りませんかね?できればボックスごとのオンマウス時の背景色を設定できるようにしたいです

  • HTML
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

> CLASSで個別に設定しようとしても無理でした。 無理とはとういう事でしょうか? 単に記述ミスがあっただけ? 理由わからず別の方法を探すのも勿体ないし、Javascript使った方が複雑になるしおすすめできません。 たぶん前にもサンプルを見たりしてるでしょうけど一応書いておきますので参考になれば。 <style type="text/css"> .menuBox a:hover{ background-color:red; } </style> <div class="menuBox"> <a href="~">メニュー1</a> <a href="~">メニュー2</a> </div> <a href="~">教えてgoo</a>

kasyle
質問者

お礼

大変参考になりました ありがとうございます

関連するQ&A

  • オンマウス時の背景色を個別に設定したい

    ごめんなさい。 前にも質問して、回答をいただいて、納得して締め切ったはずの質問が、いざコーディングしてみると動きませんでした。反省しています。やはりちゃんと動くのを確認してからでないと駄目ですね。ということでもう一度同じ質問を出します。ご容赦願います マウスを乗せると背景色が変わる仕組みは、たしかa=hoverで可能でしたよね。 そこで問題が発生しました。 私は今サイトを作っていて、左側のメニューバーについてはマウスを乗せると背景色が変わるリンクにしたいんですが、普通の文章中に出てくるリンクについてはそういう仕様から外したいんです。 でもa=hoverを使うと全てのリンクに同じ設定が適合されてしまいますよね?CLASSで個別に設定しようとしても無理でした。どうすればいいですか? そこでJAVASCRIPTというものを利用して、マウスを乗せるとその文字背景(もしくはボックス内の背景)が 変わる仕組みを実現できるはずなんですが、具体的なソースコードは知りませんかね?できればボックスごとのオンマウス時の背景色を設定できるようにしたいです

    • ベストアンサー
    • HTML
  • テーブルの背景をマウスオーバーで変える

    お世話になります よろしくお願いします phpMyAdminをみてやってみようと思ったのですが テーブルのセルをマウスオーバーで背景の変更はできないでしょうか? FireFoxだとうまくいくのにIEだとうまくいきません。 IEは未対応と聞いたのですが 実際phpMyAdminでは動いています。 どうやれば一緒のことができるのでしょうか? phpMyAdminからそれっぽいソースは見つけたのですが うまくいきませんでした <style type="text/css"> /* odd table rows 1,3,5,7,... */ table tr.odd th, table tr.odd { background-color: #CCCCCC; } /* even table rows 2,4,6,8,... */ table tr.even th, table tr.even { background-color: #666666; } /* hovered table rows */ table tr.odd:hover, table tr.even:hover, table tr.odd:hover th, table tr.even:hover th, table tr.hover th, table tr.hover { background-color: #FFF000; } --> </style> <body> <table> <tr class="odd"><td>マウスを乗せると背景色が変わる</td><td>マウスを乗せると背景色が変わる</td></tr> <tr class="even"><td>マウスを乗せると背景色が変わる</td><td>マウスを乗せると背景色が変わる</td></tr> </table> 以上よろしくお願いします

    • ベストアンサー
    • HTML
  • マウスオーバー:一つの画像だけを変えるには?

    javascript初心者です。マウスオーバーの記述について教えてください。 3つのリンクボタンがあるのですが、このうち、一つだけ画像が変わるようにしたいと思っています。 ※リンク先は、3つもと同じです。 例:A・B・Cのリンク画像 A~CのどれをオンマウスしてもAの画像だけが変わるようにしたい。 また、マウスアウトした時には、元の画像に戻るようにしたいです。 以上、よろしくお願い致します。

  • a:hoverで背景色を指定すると文字が消える!

    cssとHTMLを下記のように書きました。 a:hoverで背景色が白から赤へ、文字色が黒から白に変わるようにしたつもりでしたが、 実際にマウスカーソルを乗せると、背景色は赤になりましたが、 なんと文字は消えてしまったのです!! 文字が見えるようにするには、どうしたら良いか教えて下さいませ。 あと、変な所があればご教示いただけると嬉しいです。 css --------------------------------- .box { display: table; } .box-cell { float: left; display: table-cell; position: relative; color: #000; background-color: #fff; } .box-cell:after { clear: both; } .box-cell a { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; } .box-cell a:hover { color: #fff; background-color: #ff0000; } --------------------------------- HTML --------------------------------- <div class="box"> <div class="box-cell"> あいうえお<br /> かきくけこ<a href="http://www.yahoo.co.jp/"></a> </div> <div class="box-cell"> あいうえお<br /> かきくけこ<a href="http://www.yahoo.co.jp/"></a> </div> </div> ---------------------------------

    • ベストアンサー
    • CSS
  • 強制的に背景色を指定

    #topics ul li a{ font-size: 14px; padding: 5px; text-decoration: none; background: #FFFFFF; } #topics ul li a:hover{ background: #FF6633; font-size: 14px; padding: 5px; text-decoration: none; color: #FFFFFF; } 以上のようなCSSを定義してリンクのボックスを置いているのですが、 <div id="topics"> <ul> <li><a href="~">~~</a> この場合マウスを置いたときに背景色反転するのですが、 何もしないときにも強制的に背景色反転させるにはどうすればいいのか なかなか実現できなくて悩んでおります、いい定義方法はないでしょうか。

  • マウスオーバーで画像がずれてしまいます。。。

    あるリンクにマウスを乗せると、 そのリンクより下の部分全てが上に詰めてずれてしまいます。 また一番上にあるリンクにマウスを乗せると、 元通りになります。。。 a:hoverの設定なんでしょうか?

  • a:hover時のみ、divの背景を変えたい

    index.htmlで、ロゴにオンマウスした際に、ページの背景の透明度を変えたいのですが、どう記述していいか分からず困っております。 イメージとして、まずロゴは縦横300pxくらいの大きさで、上下左右センタリングされた位置にあるのですが、ロゴにオンマウスした時に、画面いっぱいの背景が半透明から不透明に変わる…といったものを作りたいです(画像添付しましたが、分かりにくかったら申し訳ないです)。 同じ要領で、ごく簡単に書いたタグがこちら(↓)なのですが、 <html> <head> <style type="text/css"> div{ background-color: #CCCCCC; width: 100px; height: 100px; opacity: 0.5; filter: alpha( opacity=50 ); /* IE */ } a:hover{ opacity: 1; filter: alpha( opacity=100 ); /* IE */ } </style> </head> <body> <div><a>リンク</a></div> </body> </html> div内のa領域にオンマウスした時にだけ、背景の透明度を変えたいのですが、動きません…。しかし、上記の例ですと、たとえ動いてもこれではa要素の背景の透明度しか変わらない気もします。 また、div :hoverは、div領域にオンマウスした時から背景が変わってしまうので、こちらは避けたいです。 今回は子要素から親要素の変更を指定する際の問題だと思ったので、セレクタを組み合わせて色々試したり、検索等もしましたが、どうしても分からないので質問させてください。

    • ベストアンサー
    • CSS
  • スタイルシートとリンク・下線・マウスのせると変化 先ほどの続き

    ページ内で、リンクについて下線を表示させる方法として、以前使用していたA:link{文字色など から、.u_line{文字色など との記載に変更しました。 これにより、下線をつけたいリンクには<a class=u_line>とすることによって希望どおりの下線を表示させ、下線をつけたくないリンク部分にはそのまま記述することで、下線を自由に設定できました。 このページ内で同時に設定していた A:hover{文字色など による、マウスをのせた時に文字色を変化について、あるリンクは下線+マウスのせると変化、他のリンク(画像)は下線なし+マウスのせても変化なし、ということはできるのでしょうか? 先ほどと同様の、.hover{文字色など ではできませんでした。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 背景画像がちらつく原因は?

    a:hover のとき、背景画像を変更してjavascriptを使用せずマウスオーバー処理を行う方法がありますよね。簡単に書くと下記のようになります。 <a href="***">テキスト</a> a { background:url(aaa.gif); } a:hover { background:url(bbb.gif); } ローカル環境ではうまく表示されるのですが、アップロードすると一瞬真っ白になってから背景画像が変わります。これはなぜでしょうか。 IE6使用(Windows)です。 MacIEやNetscapeだと、ぜんぜん問題ありませんでした。IE特有の問題なのか、私のPC環境によるものかはっきりさせたいと思うので、わかる方、宜しくお願いします。

    • ベストアンサー
    • HTML
  • CSSでテーブルのセルが、a:hover で背景を変わるようにしましたが、枠がちらついてしまいます。

    テーブルのセルに、リンクのあるテキストをはって、 a:hoverで背景が変わるようにしたのですが、 hoverの状態でセルの外側だけ背景が変わらずに、hover状態でないときの背景がほんの少しちらついてしまいます。 table .a{border: 0px;background-color:red;;padding: 2px;width: 150px;} table .a a:hover{border:0px;padding: 2px;width: 150px;background-color:orange;} のようにすると、 hover状態で、セルの枠が、ほんの少しredのままになってしまいます。 http://www.smashingmagazine.com/2008/08/13/top-10-css-table-designs/ の 3.BOX の例のように、hover状態できれいに背景の色が変わるようにしたいんですが、どう直せばいいでしょうか。よろしくおねがいいたします。

    • ベストアンサー
    • HTML

専門家に質問してみよう