• ベストアンサー

リンクに触れると

http://keepsurfing.net/ このサイトのようにメニューに触れると画像が出るようにするにはどうすればいいでしょうか? 色々調べてみたのですがわかりませんでした。 教えてください。 あと同じようにリンクに触れたときに背景の色を換える為にCSSで background-color : #8b0000; で、触れた時だけ背景に色がつくようにしてるのですが文字の部分にしか背景色って表示されず余白がでいてしまいますよね? あれをボックスの中全体の色を変えたいのです。 どちらかだけでかまわないのでわかる方いたら教えてくださいよろしくお願いします。

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

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

  • ベストアンサー
noname#199778
noname#199778
回答No.4

質問文にある参考にしているサイトをみてきましたが、スタイルシートのみで対応しているようですね。 JavaScriptによる処理ではなく、a:hoverを使って背景画像を指定しているだけのようです。 そのサイトのソースから外部スタイルシートを辿ってスタイル指定を見てみましたが、まずリンクをリスト(ul要素)の中身として表示させ、そのリスト内にあるリンクに対して ul.class名 a:hover{ background-image: url('画像ファイルのURL'); background-repeat: no-repeat; } と言うような書式で、特定のクラス名を持つ要素に含まれるリンクにおいて、そのリンクの上にカーソルがきた時にだけ指定の背景画像を表示させると言うことができるようです。 他にもいくつかの指定がされているようですので、全体的なスタイル指定の内容を把握したい場合は、ソースを見て外部スタイルシートのURLを辿り、中身を覗いてみるのが良いと思います(こうして外部スタイルシートファイルを見てしまうのは、あまりお行儀の良いやり方とはいえないかもしれませんが…)。 リンクに触れた時に背景色を変えるスタイルシートで、文字以外の部分の背景色も変更したい場合は、a要素に対してpaddingを指定するなどして、その表示範囲を文字よりも大きめに取ってやることである程度までは対応できるのではないかと思います。 こちらについては、背景色で染めたい範囲に応じて適宜設定する必要があると思いますので、詳細についてはいろいろと試してみるのが良いと思います。 一応、 a { padding-top: 5px; padding-left: 5px; padding-bottom: 10px; padding-right: 25px; } 内容は適当に書いたものですが、このスタイル指定を追加してみてください。 これを応用すれば、ある程度は対応できると思いますよ。 ただ、こちらの場合は、リンクの入っているボックスのサイズなどの関係上、スタイルシートだけで対応するより、JavaScriptを使ってスタイルシートを操作する方法のほうが、ソース的にも表示上でも綺麗にまとまるかもしれません。 ちなみに、上記のいずれの効果も、JavaScriptによる操作で代行することが可能な範囲だとは思います。 もしJavaScriptの使用の方が都合が良いのであれば、JavaScriptで同様の効果を適用させるようにしても良いでしょう。 参考まで…

himeko2000gt
質問者

お礼

最近スタイルシートをかじり出してまったくわかってない私に詳しく教えてくださってありがとうございます。 ソースは見てたりしてたんですが外部スタイルシートが見れるって事はしりませんでした(照れ 両方ともちゃんと答えていただき本当に助かります これからお行儀よくないかも知れませんが外部スタイルシート見て勉強してきます。 また自分なりに調べてもわからない時には質問したりすると思いますがその時はまたよろしくお願いします。

その他の回答 (4)

  • tontom
  • ベストアンサー率33% (1/3)
回答No.5

リンクに触れたときに、全体の背景色を変えるには、CSSでもできます。 参考URLで詳しく説明されているので、ぜひ覗いてみてください。

参考URL:
http://allabout.co.jp/computer/hpcreate/closeup/CU20020709A/index.htm
himeko2000gt
質問者

お礼

お返事遅くなってすいませんでした! 色々やってみてできました でも違う方法も知っておきたいので参考にさせていただきます。 本当にありがとうございました。

  • shy00
  • ベストアンサー率34% (2081/5977)
回答No.3

おっと、すいません 左のメニューのことですよね? これは、バックに画像を置いており、 a:hover { color : #080; background-color : transparent; text-decoration : none; で、マウスがのったときに透けさせる設定にしているだけでは?  時間が無く試していませんけど(爆)

himeko2000gt
質問者

お礼

早速やってみましたができませんでした;; 私のやり方がおかしいのかも… でもこのやり方は想像もしませんでした。 こんなに早く答えてくださって本当にありがとうございました。

noname#165597
noname#165597
回答No.2

画像のは・・・ 以下のサイトで分かりやすいです。 こっちが正しいです

参考URL:
http://lovepuppy.fc2web.com/html/gazou-asobi.html
himeko2000gt
質問者

お礼

ありがとうございます。 参考URL早速見させてもらいました。 これから見て活用していきたいと思います。 本当にありがとうございました。

  • shy00
  • ベストアンサー率34% (2081/5977)
回答No.1

とりあえず「画像」といわれている部分だけ・・・ title=""を付けているだけです <a href="******" title="">

関連するQ&A

  • リンクの格好をよくしようとしたら…画像まで

    リンクをしている字の上にカーソルをもってきたら字のテキストカラーと下線が着いて、背景に色が付くように、下のような設定を見よう見まねで作って、テキスト文字は思うようになっています。 でも、画像にリンクを付けたものはインターネットエクスプローラーでみると、正常なのですが、ネットスケープでみてみると、ほとんどの画像が消えて、一部分だけ帯のようにバックグランドカラーがでて、そこだけ画像の部分が表示されます。この設定だったら、画像にリンクを張れないので困っています。  A:HOVER {text-decoration: underline; position:relative; top:1; left:1; color: #ff0000; background-color : #fee8e2; background-repeat : repeat; }

  • html リンク文字の背景色について

    <style type="text/css"> <!-- a:link { background-color :#000000; } --> </style> こんな感じでリンク文字に背景色をつけているのですが、 その背景色の縦幅・横幅はどうやったら指定できますでしょうか。 教えてください。

  • gooブログ(アドバンス)のテンプレート編集(CSS)について

    テンプレの背景を変えてやろうと、以下のようにCSSを編集しました。 --------------------- /* ページ全体共通指定 */ /* ページ全体の背景と余白と各メニューリスト以外の文字 */ BODY { background-image:url("http://blogimg.goo.ne.jp/user_image/5f/9c/**********.jpg"); color:#009900; margin:0pix; } -------------------- すると、コメントの画面の背景は変わりましたが、肝心のブログ画面の背景が変わりません。何がおかしいのでしょうか? ご教授よろしくお願い致します。

  • 一部分のリンクのCSSを無効にしたい

    HP全体、リンクの箇所にカーソルを持って行くとバックの色が変わるように設定をしています。 (a:hover の background-color を設定) しかし、一部のロゴ画像で、背景が透明色のものがあり、そのロゴ画像にリンクを貼ると、画像までロゴのバックが変わってしまいます。 ロゴの画像は、ロゴの下に写真を配置しているため、透明色を白に加工しなおすことができません。 この画像にマウスをおいても、背景が変わらないように(下の写真が見えているように)したいのですが、よい方法がありますでしょうか。 何かございましたら、ご教授下さい。 よろしくお願い致します。

    • ベストアンサー
    • CSS
  • cssで背景の幅を設定

    cssで背景の幅を設定 GIGAZINE< http://gigazine.net/ >の各タイトル(黄色の背景)のように、文字の背景を一番右までになるように設定するにはcssをどういじればいいのでしょうか コードを読んでみてるのですが、特にかわったことをしている部分を見つけられませんでした 普通にbackground-colorを書くと普通に文字の部分だけに背景色が入ってしまいます

    • ベストアンサー
    • CSS
  • リンク色の変更

    <td>内でマウスオーバー時に背景色、文字色が変わるものを作っています。 背景色は普通にthis.style.background.colorで変更できますが、 中の文字はリンクなのでstyle.colorでは変更できません。 文字の上ではなく、セルにマウスが入った時点でリンク色を変えたいのでスタイルシートではNGでした。 javascriptで1部のリンク色だけを変えたい場合はどうしたらいいんでしょう?? リンクを外して<td>内クリック時にリンクすることもできますが、ステータスバーに何も表示されないのは嫌なのでなしてす。 説明がうまくできていないと思うので不明な部分は補足します。 だれか分かる方いらっしゃいましたらよろしくお願いします。

  • マススポインタがリンクの上に乗ると色が変わる設定方法

    ホームページを作成中です。 リンクの上にポインタを置くと、背景色と文字色を変えるようにしたいのですが、 それについてはこちらの以前からの質問で、 テキストエディタの<head>~</head>内に、 <style type="text/css"> a:link { color:blue; text-decoration:none; } a:visited { color:green; text-decoration:none; } a:active { color:pink; text-decoration:none; } a:hover { background-color:yellow; color:red; text-decoration:underline overline; } </style> と入れると色が変わるようになることを知りました。 その場合、そのままの状態では文字は緑色、マススを乗せると背景が黄色で文字色が赤色に、 クリック後はピンク色の文字に変わるようになると思います。 『a:link { color:blue; text-decoration:none; }』の部分はどこに生かされているのかわかりません。 この部分は一体何の意味があるのでしょうか? また、上記をテキストエディタに貼り付けてしまうと、リンク部分が全てそうなってしまいますよね? マウスを乗せた時には同じ背景色・文字色になってもいいのですが、 何もしない状態(見た目、上記で言う何もしない状態の時)にそれぞれに色を変える場合はどのようにすればいいのですか? 例えると、下記3項目にそれぞれリンクテキストが貼り付けてあるとして、   あいうえお  → ここは青色に   かきくけこ  → ここはオレンジ色に   さしすせそ  → ここは黄色に      する場合、 どのような操作(作業)をすればそのとおりの色に変えることができるでしょうか? とても解りづらい質問ですみませんが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • CSS IEだけがずれます。

    いくら頑張ってもずれます。。 どこを変更すればよいのでしょうか? ご指導下さい。 CSSは以下です。 /******************************************/ body{/*全体的な設定*/ margin:0px; /*全体の余白*/ text-align:center; /*センタリングIEバグ回避用*/ background: url(04.jpg) left top repeat-x; /*全体の背景の設定*/ } /******************************************/ a:link , a:visited , a:hover , a:active{ /*リンクフォントの設定*/ color: #a44; /*リンクの色*/ text-decoration: underline; /*リンク下線の設定。 } /******************************************/ #baseBlock1{/*コンテンツ全体の設定*/ font-family:Verdana, "Tahoma,Arial,sans-serif,MS Pゴシック",MS UI Gothic, Osaka;/*フォントの設定*/ color:#aaa; /*文字色の設定*/ margin-left:auto; /*センタリングのための左の余白*/ margin-right:auto; /*センタリングのための右の余白*/ width:850px; /*コンテンツ全体の幅*/ text-align:left; /*IEセンタリングバグ回避用。*/ font-size: 0.82em; /*文字サイズ。 文字サイズはInternet Explorerの文字のサイズ-中、Firefoxの文字サイズ-標準サイズに合わせてあります。*/ } /******************************************/ #title{/*タイトル部分*/ margin-left:10px; width:1360px; /*タイトル部分の幅*/ height:200px; /*タイトル部分の高さ*/ background:url(01.jpg) no-repeat; /*タイトル部分の背景設定*/ border:1px solid #fff;/*枠線の設定*/ } /******************************************/ h1{/*タイトル部分のフォント、文字位置の設定*/ font-size:1.3em; /*タイトル文字の大きさ 1emでbaseBlock1のfont-sizeと同じ大きさになります*/ color:#fff; /*タイトル文字の色*/ padding-top:80px; /*文字上側の余白*/ padding-left:50px; /*文字左側の余白*/ margin:0px; /*Firefoxでの余分な余白を削除*/ } /******************************************/ h2{/*サブタイトル部分の設定*/ color:#fff; /*文字色*/ padding-left:50px; /*左に余白*/ padding-top:0px; /*上に余白*/ padding-right:50px; /*右に余白*/ font-size:1.0em; /*文字サイズ*/ margin:0px; /*余白の設定*/ font-weight:normal; /*文字の太さ*/ } /******************************************/ #main{/*メインコンテンツ部分の位置設定*/ width: 1078; /*メインコンテンツの幅*/ float: none; /*メインコンテンツ位置設定*/ padding-top: 31px; /*文字上部の余白*/ padding-bottom:30px; /*フッターとの間隔*/ ; padding-left: 226px;} /******************************************/ #maintext{/*IEとfirefoxのズレ対策用*/ padding:30px; /*文字左側の余白。*/ } /******************************************/ h3{/*見出しの設定*/ border-bottom:1px solid #acf; /*下に枠線*/ border-left:4px solid #acf; /*右に枠線*/ padding-left:4px; /*左に余白*/ font-size:1.1em; /*文字サイズ*/ font-weight:normal; /*文字の太さ*/} /******************************************/ #menu{/*メニュー部分の設定。*/ width:219px; /*メニューの幅*/ float:left; /*メニュー位置設定*/ font-size:0.9em; /*メニューの文字サイズ*/ text-align:center; /*文字位置の設定 padding-top:30px; /*上に余白*/ } /******************************************/ #me-top{/*メニュー上部画像用*/ height:34px;/*高さ*/ width:228px; background:url(02t.jpg) no-repeat; /*背景の設定*/ } /******************************************/ #me-mid{/*メニュー中部画像用*/ width:224px; background:url(03.jpg) repeat-y; /*背景の設定*/} /******************************************/ #me-bot{/*メニュー下部画像用*/ height:32px; /*高さ*/ width:228px; background:url(04b.jpg) no-repeat; /*背景の設定*/} /******************************************/ #menutext{/*IEとfirefoxのズレ対策用*/ padding-left:10px; /*左の余白設定*/ } /******************************************/ .m-title{/*メニュータイトルの設定。*/ height:20px;     /*高さ*/ font-size:1.2em; /*テキストサイズ*/ border:1px solid #666; /*枠線の設定*/ color:#aaa; /*テキスト色*/ background:#fff url(05.jpg) no-repeat; margin-top:0px; /*上部に余白*/ margin-left:10px; /*左に余白*/ margin-right:22px; /*右に余白*/ margin-bottom:5px; /*下に余白*/ } /******************************************/

    • 締切済み
    • CSS
  • CSSで指定したリンクのみに下線

    現在CSSを使ってHPを作成しています。全体的にはリンクには下線を引かないように下記のように指定しました。 a:link{color:#523e35;text-decoration:none;} しかし、リンク色とテキスト色を同じにしたいので同じにしましたがどこにリンクが貼ってあるのか分かりません。 とりあえず、ホームページ内メニューの部分のみはリンクが張ってあるか把握できるようメニューのリンク部分だけにでも下線を引きたいのです。 試しに .menu_line { text-decoration: underline; } 上記をつかって<div class="menu_line">でメニューを囲ってみるとリンクの部分ではなく、テキストの部分にのみ下線がひかれてしまいました。 いったいどう指定すればメニューの部分のリンクにのみ下線を引くことができるでしょうか…。 ご存知の方がいれば教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 画像にリンクを設定したときに...

    <head> <style type="text/css"> body { background-color: #e1e1e1; margin-top: 12%; } a:link { color: #990000; } a:visited { color: #990000; } </style> </head> <body> <a href="*******.html"><img src="image/icons/jap.gif"></a> </body> 上のように、リンクを表す文字の色変化・下線の色変化を、赤色(#990000)に変化するように記述したのですが、 Internet Exploreでは、画像のまわりにリンクを示す「青い線」が出ます。 Operaでは、画像のまわりにリンクを示す線が出ません。 FireFoxでは、画像のまわりにリンクを示す「赤い線」が出ます。 Internet Exploreでも、FireFoxのように、画像のまわりのリンクを示す「線」を赤くしたいのですが、どうすればよいでしょうか?? もしできない場合は、画像のまわりに出る、リンクを示す「囲い込み線」が出ないようにしたいのですが、どうすればいいでしょうか?? <style type="text/css"></style>でページ全体に設定する場合の書き方と、<span style=""></span>で一部に設定する場合に書き方の、両方を教えて欲しいです。 宜しくお願いしますm(__)m

専門家に質問してみよう