• ベストアンサー

マウスが乗ったとき斜め下に下がる

画像にマウスが乗ったときに、斜め右下に下がるには、CSSで A:HOVER{position : relative;top:2px;left:2px;} と設定すれば よいとはわかるのですが、この設定は部分的にあてはめることはできないのでしょうか?  同じテーブル内に、下がるアクションがほしいリンク画像と、下がってほしくないリンク画像があるのです。 どのようにすればよいか教えてください。 よろしくお願いいたします。

  • HTML
  • 回答数3
  • ありがとう数2

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

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

#1 の者です。 単純にこの場所が「下がるアクションがほしいリンク画像」ならば、 ><td width="75" height="17"><a href="#" onMouseOut=~ これを <td width="75" height="17"><a id="IDSAMPLE" href="#" onMouseOut=~ でも <td id="IDSAMPLE" width="75" height="17"><a href="#" onMouseOut=~ でもどうでもだいじょうぶですけど・・・。 zasshi01.gif が下がるアクションがほしいリンク画像であり zasshi02.gif が下がってほしくないリンク画像の場合は・・・ って、よく考えたらありえないですね・・・。 まぁとりあえず技術的には 上記と合わせて onMouseOut に this.style="top:2px;left:2px" onMouseOver に this.style="top:0px;left:0px" の追記が必要です。(期待する動作が逆の場合は、追記先を逆に。) これは CSS を動的に書き換える方法です・・・。 どこか話しに食い違いがあったりしてぇ??? あと、私も「マウスが乗ったとき斜め下に下がる」をページに使っているので注意点を少々。 まず、ずらす事によって他と重なる事があるので注意が必要です。余白を用意しておくか重なるのをあきらめるか・・・。 次に画像の場合、ネスケで上半分が欠けたり・・・。 古いバージョンのブラウザだとIEでも画像が変になる事があります。ブラウザごとでこの斜めに下がる機能を使わない様に出来るなら振り分けるのが望ましいです。

kaisha
質問者

お礼

下がったぁ~~~(TOT)できたぁ~~~~!!  ありがとぅございますぅ~~~~!! IDを余計に変な場所に記載してました。 DreamWeaver で作っているので、HTMLの知識は無に等しく、DWで足りないときにその都度調べて作っている状態でして・・・ うんうん、いい感じ。望みどおりのものができました。 本当にありがとうございました! 続きをがんばります。 ・・・・また・・教えてください*^^*

その他の回答 (2)

  • partita
  • ベストアンサー率29% (125/427)
回答No.2

(意図していることと異なるかもしれませんが) 画像を背景画像にすれば、他のものに影響が出なくなります。例として… <ul> <li><a id="first">ひとつめ</a></li> <li><a id="second">ふたつめ</a></li> </ul> だとします(href省略してます)。このコードだと画像を扱っていないようにみえますが、CSSで以下のように記述します。 a { text-indent:-9999px; display:block; width:100px; height:20px; } a#first {background:url(画像1);} a#first:hover {background-position:2px 2px;} a#second {background:url(画像2);} a#second:hover {background-position:2px 2px;} ・リンクテキストを画面外に飛ばす ・リンクをブロック要素にして背景画像を設定 ・マウスオーバーで背景画像の位置をずらす こうすることにより、他の要素に影響なく画像が斜め右下に下がります。 ※position:relative;を使用すると、あとに続く要素までずれてしまいませんか?

kaisha
質問者

お礼

ご丁寧にありがとうございました!! 実はテーブルにすでに背景をつかっていて、 初心者のわたしには少々難しいです。 すみません・・ ただ影響が出た場合にまた知識として必要になるでしょうから、 この方法でもチャレンジしてみますっ! 本当にありがとうございました!!

回答No.1

CSS を使い分けたいのならば、セレクタを用いれば・・・。 というか、個々に指定したいなら該当の要素にIDを用いて CSS を記述すれば良いので・・・。 また、修飾というか文脈的セレクタも・・・。 A:HOVER#IDSAMPLE{position : relative;top:2px;left:2px;}  <a href="./index.htm" id="IDSAMPLE">sample</a> または、 #IDSAMPLE A:HOVER{position : relative;top:2px;left:2px;}  <div id="IDSAMPLE"><a href="./index.htm">sample</a></div> (あくまでサンプルです。いろいろ書き換えて使って下さい。) いろいろな組み合わせがあるので、 実際にはその場その場の用途次第なのですが・・・。 div A:HOVER{position : relative;top:2px;left:2px;} <div><a href="./index.htm">sample</a></div> これもありですし・・・。

kaisha
質問者

補足

早速のお返事ありがとうございます! CSSの記述場所はわかるのですが、HTMLへの記述がわかりません・・ <td width="75" height="17"><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('zassi','','images/zasshi02.gif',1)"><img src="images/zasshi01.gif" alt="雑誌" name="zassi" width="75" height="17" border="0"></a></td> このように、ロールオーバー時に画像が変わる設定をしているのですが、間にあてはめてたらエラーになってしまいました。 どのようにしたらよいのでしょうか?初心者で申し訳ありません・・。

関連するQ&A

  • CSSに関する質問です

    CSSで下記のように設定したとします。 A:HOVER{ color #好きな色; position:relative; top:1px; left:1px; } こうするとリンクにマウスを乗せた時に文字が斜め下に移動するように出来ますが、 これをテキストのみに適用させたいのです。 画像は動くと不格好なところも多いので、画像だけ適応させないような方法はないのでしょうか? 難しいような場合には、 個別に画像に対してCSSをかぶせる予定です。 よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • マウスをのせると画像が動くcssについて

    マウスをのせると画像が動くCSSについて質問します。 http://kumacrow.blog111.fc2.com/blog-entry-486.html このページに書いてあることをやりたいです。 通常ですと、<head>内にCSSを記入して、html内でclassで呼び出すと思うのですが、html内に全て書く場合はどうすればいいのでしょうか? <a href="http://~" style=" a:hover { position: relative; top: 5px; left: 5px;}"><img src="(画像のある場所)" /></a> このような書き方では上手くいきません。 どのように書けばいいのか教えてください。

  • IEに対応するCSSの記述について

    リンクボタンクリック時に一瞬だけリンクが沈んでいるように見せるCSSを記述したところ、FireFox3.0.1とOpera9.52ではきちんと沈んでいるように見えましたが、IE6とIE7はa:hoverのイベントは取れるものの、a:activeのイベントを取ることが出来ませんでした。 何か書き方が違うのだと思うのですがまだまだ素人で解決方法がわからずに困っております。 どなたかご存じでしたらご教授よろしくお願いします。 ---ソース---- <html> <head> <title>無題のページ</title> <style type="text/css"> a:hover { position:relative; left:-1px; top:-1px; } a:active { position:relative; left:1px; top:1px; } </style> </head> <body> <a href="#">aaaaaa</a> </body> </html>

    • ベストアンサー
    • HTML
  • CSSについてです。回答よろしくお願いします!

    現在外部リンクでCSSを使っているのですが、リンク設定を a:hover {text-decoration: none; color: #1E90FF; position: relative; top:2px; left:0px;} という風に使っています。 しかし、同じページにリンクを2つ作ると上記内容に2つともなってしまいます。 1つだけ上記内容のリンク設定にしたいのですが、どうすればよろしいでしょうか? 質問の内容がわからないようでしたら、説明しますので、回答よろしくお願いします。

  • 画像をホバーした時一つだけ半透明にしない

     img {  transition: 1.0s ; }  img:hover {  opacity: 0.5 ; } を使って画像をゆっくり半透明になるようにしています それと .relative { position: relative; } .absolute { position: absolute; left: 4px; top: 23px; } で画像に画像を重ねているのですが、 その時に重ねた小さい画像だけを半透明にしないようにしたいのですが それはどうすれば良いでしょうか?

    • ベストアンサー
    • CSS
  • 背景画像上に複数枚の画像配置について

    お世話になります。 まだまだcss勉強中なので教えて頂きたいことがございます。 1枚の背景画像に対し、別箇所にマウスオーバー時のみ表示されるように複数枚画像を配置し、そのマウスオーバー用の複数枚の画像にリンクタグをつけて、別ページへのリンクを貼りたいのです。 しかし、ネットで調べた方法ですと、うまくマウスオーバーが反映されず 余計な画像も出てきてしまいます。 おそらく間違ったcssを記述していると思うので ご指摘いただけると助かります。 -------------------------------------------------------------- 【html】 <div class="demo"> <div class="demo1"><a href="#"></a></div> <div class="demo2"><a href="#"></a></div> <div class="demo3"><a href="#"></a></div> <div class="demo4"><a href="#"></a></div> <div class="demo5"><a href="#"></a></div> </div> 【css】 .demo { background: url("../img/imgbg.jpg") no-repeat; display: block; width: 800px; height: 1108px; } .demo1 a { width: 800px; height: 1108px; background: url("../img/imgbg.jpg") no-repeat; display: block; position:absolute; } .demo1 a:hover { background-image: url("../img/img1.png"); position:relative; top:475px; left:635px; display:block; } .demo2 a { width: 800px; height: 1108px; background: url("../img/imgbg.jpg") no-repeat; display: block; position:absolute; /*text-indent: -9999px;*/ } .demo2 a:hover { background-image: url("../img/img2.png"); position:relative; top:469px; left:480px; display:block; } .demo3 a { width: 800px; height: 1108px; background: url("../img/imgbg.jpg") no-repeat; display: block; position:absolute; } .demo3 a:hover { background-image: url("../img/img3.png"); position:relative; top:477px; left:322px; display:block; } .demo4 a { width: 800px; height: 1108px; background: url("../img/imgbg.jpg") no-repeat; display: block; position:absolute; /*text-indent: -9999px;*/ } .demo4 a:hover { background-image: url("../img/im4.png"); position:relative; top:477px; left:167px; display:block; } .demo5 a { width: 800px; height: 1108px; background: url("../img/imgbg.jpg") no-repeat; display: block; position:absolute; /*text-indent: -9999px;*/ } .demo5 a:hover { background-image: url("../img/img5.png"); position:relative; top:477px; left:10px; display:block; } -------------------------------------------------------------- a のクラスの時に背景画像を指定しなくても良いんじゃないかと思い 消してみたら画像が表示されなくなってしまったので そのまま記載しています。 上記の記述のままですと、マウスオーバーが正しく反応しないですし マウスオーバー時に別箇所に背景画像が表示されてしまいます。 やりたいことは画像にしましたのでご確認ください 黒○は背景画像内にある形で、その上に同じ形の赤○を マウスオーバー時の画像として表示したいです。 (図が下手ですみません) わかる方、ご教示をお願いします。

    • 締切済み
    • CSS
  • CSS position: relativeについて

    a:hover{ position:relative; top:2px; right:2px; } このような記述をCSSにしています。 ネスケ7.1で見ると 1.バナーにカーソルを合わせると上半分の画像が消えてしまう。 2.リンクしている部分にカーソルを合わせると画面上部と右側にGoogle AdSense広告の残像?のようなものが見える。 という二点の不具合が見られるのですが、改善方法はありありますか? IEではこの問題は起きません。 また、position: relativeの記述をCSSから外すと1.2.の問題共にネスケ7.1でも起こりません。 解決法がなければposition: relativeを外そうと思いますが、出来れば記述したままで解決したいのでよろしくお願いします。

    • ベストアンサー
    • HTML
  • マウスオーバすると画像の配置が変わる

    今回コチラ(http://www.skuare.net/test/jrumble.html)のjqueryを入れました。 サイト:http://snapkidz.biz/wp/ ブルブルする場所はコップの部分になります。 記載部分は以下です。 ーheader.phpー <a href="#" class="cup">cup</a> ーCSSー a.cup { display: block; width: 90px; /* 画像1枚分の横幅 */ height: 110px; /* 画像1枚分の高さ */ text-indent: -9999px; /* 文字を見えなくする */ background-image: url("http://snapkidz.biz/wp/wp-content/uploads/2011/12/cup.png"); /* 画像ファイル名 */ position:relative; top:303px; left:1080px; } a.cup:hover { background-position: top right; /* 背景画像の表示開始基準を右上に変更 */ } マウスオーバすると画像の配置が移動してしまいます。 これはどうすればなおるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • CSS
  • CSSについて

    カーソルがルンク先文字にふれた時に色が変わり、 リンクしたあとリンク済みになるCSS( スタイルシート)はこれでいいでしょうか? リンク済みの色が変わりません。 <!-- <style type="text/css"> --><!--A:HOVER{position : relative;top:2px; left:2px;} </style> --> <style type="text/css"> <!--A:link {color:#000055; text-decoration:none; } A:visited {color:#000055; text-decoration:none; } A:hover {color:#ff3300; text-decoration:underline; }--></style>

    • ベストアンサー
    • HTML
  • テーブル内a:hoverでちらつく[html]

    テーブルにテキストを書き、そのテーブルにマウスが当たったらテキストの文字位置をずらすという方法でホームページを作っているのですが、テーブル内をマウス移動させると、文字がちらついてしまいうまくいきません。 ソースは以下です。 <HEAD> <style type="text/css"> <!-- .box a{display:block;} .box a:hover {position: relative; top: 5px; left: 5px;} --> </style> </HEAD> <BODY> <table> <tr> <td class="box"><A href="#">テスト1</A></td> </tr> </table> </BODY> 何が間違えているのかわからず困っています。 ご回答お待ちしております。お願いします。