• ベストアンサー

ページを開いているときのリンクの文字色を変えたい

パソコン初心者です。 ソフトを使わず、メモ帳で入力してホームページを作成しています。 リンクの文字で、通常は黒、マウスを乗せたとき白に変わり、クリックしてページを開いたときにも白(どのページにいるのかわかるように)としたいのですが、うまくいきません。 スタイルシートで、マウスを乗せたときのa:hoverを#ffffffと設定し、選択したときのa:activeを#ffffffと設定しています。 マウスを乗せたときには白く変わるのですが、クリックしてページを開いても、リンクの文字の色は黒のままです。 これを白に変えるにはどうすればいいのでしょうか? どなたかアドバイスよろしくお願いします。

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

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

  • ベストアンサー
  • outbrave
  • ベストアンサー率60% (231/380)
回答No.2

開いているページのリンク色を変えるには、ちょっと小細工が必要です。 例: HTML <ul> <li class="current"><a href="./">Home</a></li> <li><a href="./link/">Links</a></li> <li><a href="./script/">Script</a></li> <li><a href="./contact/">Contact</a></li> </ul> CSS .current a { color: #ffffff; }

chibigin
質問者

お礼

ご回答ありがとうございます。 教えていただいたように記入したら 開いているページのリンク文字が変わりました。 ありがとうございました。

その他の回答 (3)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

>スタイルシートで、マウスを乗せたときのa:hoverを#ffffffと設定し、選択したときのa:activeを#ffffffと設定しています。  スタイルシートで指定する場合、 リンクに関する擬似クラス :visited :link 5.11.2 リンクに関する疑似クラス ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/selector.html#link-pseudo-classes ) と動的な擬似クラス :hover,:focus :avtive 5.11.3 動的な疑似クラス ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/selector.html#dynamic-pseudo-classes ) を使います。  ですが、現在の位置(current)を使うセレクタはありません。  質問が、各ページに共通なナビゲーションリンクをコピーペーストしているなら、せいぜい:visitedを使うしかありません。そのため、すでに訪問したページと同じ扱いになって、必ずしも今いる場所を示すとは限りません。  方法としては、同じナビゲーションリンクだと、currentを何らかの方法で伝えなければなりませんが、それが出来ないとなるとHTMLを書き換えるしかありません。 <div class="nav">  <ul>   <li><a href="/index.html">トップ</a></li>   <li>著書</li>   <li><a href="/blog/index.php">ブログ</a></li>   <li><a href="/profile/index.html">自己紹介</a></li>  </ul> </div>  とか・・・・・・・・ <div class="nav">  <ul>   <li><a href="/index.html">トップ</a></li>   <li class="current"><a href="/books/index.html">著書</a></li>   <li><a href="/blog/index.php">ブログ</a></li>   <li><a href="/profile/index.html">自己紹介</a></li>  </ul> </div> とか・・・・  このリンク先の配下にさらにサブファイルなりディレクトリが存在する場合は、後者、そうでない場合は前者を使うことになるでしょう。  面倒くさいので、私は現在のページの色は特に変えないことのほうが多いです。多くの場合、さらにサブページが続くことが多いという理由もあります。 (注)  サブページもたくさんある、すべてのページにすべて同じナビゲーションを設けている場合は、呼び出す外部スタイルシートをディレクトリごとに変える方法をとることもあります。 <link rel="stylesheet" type="text/css" media="screen" href="/css/general.css" > の次の行に <link rel="stylesheet" type="text/css" media="screen" href="/css/books.css" > と追加して それに、 div.nav ul li a{color:blue;} div.nav ul li+li a{color:maroon;} div.nav ul li+li+li a{color:blue;} と書いておく。他にも色々な方法がありますが・・

chibigin
質問者

お礼

ご回答ありがとうございます。 丁寧に説明していただいたので 現在のページを示すとは限らないことがわかりました。 リンク先にはサブページは設けていませんが なにやら私にはちょっと難しそうで・・・ もうちょっと勉強してから試してみます。

  • DrFell
  • ベストアンサー率55% (305/551)
回答No.3

>マウスを乗せたときには白く変わるのですが、クリックしてページを開いても、リンクの文字の色は黒のままです。 >これを白に変えるにはどうすればいいのでしょうか? マウスを乗せて白く変わったページと、クリックして開くページは別ですよね?activeは引き継がれるわけではありません。 そして、リンク先のページの自分自身のページへのリンクって意味あるのでしょうか?リンクのつもりでクリックしたのに同じページに飛んだらがっかりしません? ということで、私のお勧めはリンクしないで、白を指定するです。 例1 html<span>現在のページ</span> css span{color:white;} 例2 html <ul class="menu"> <li><a href="page1.html">メニュー1</a></li> <li><a href="page2.html">メニュー2</a></li> <li>現在のページ</li> <li><a href="page4.html">メニュー4</a></li> </ul> css .menu li{color:white;} .menu li a:link{color:black;} .menu li a:visited{color:glay;} .menu li a:hover{color:white;} .menu li a:active{color:white;}

chibigin
質問者

お礼

ご回答ありがとうございます。 質問の説明が下手だったと思います。 >マウスを乗せて白く変わったページと、クリックして開くページは別ですよね? headerの下にナビみたいに各ページのタイトル(ホームとかアクセスとか)をつけて マウスを乗せたときに色が変わり さらにそのページをクリックしたとき どこのページにいるかわかるようにしたかったのですが・・・ そのように説明されているのかもしれませんが 初心者だからか基本がわかっていないのかよくわかりませんでした。 すみません。もう少し勉強します。

回答No.1

A:link{ color:#000000;} A:visited{ color:#ffffff;} A:hover{ color:#ffffff;} A:active{ color:#ffffff;} 以上 CSSへの記載順序にも気を付けて見てください。

chibigin
質問者

お礼

ご回答ありがとうございます。 クリックしてページを開き元のページに戻ると 訪問済みの白い文字になってしまいました。 私が表示したいものと少し違っていたようです。

関連するQ&A

  • リンクの色を2色で使い分けたい

    はじめまして。 良かったらどなたか教えて下さい。 今、一枚のページを作っているのですが、背景色を"#ffffff"(白)とし、そのリンクを以下の様に指定しました。 <style type="text/css"> <!-- A { text-decoration: none} A:link {color:#000000;} A:visited {color:#ffffff;} A:hover {color:#ff6600;} --> </style> 「白地に黒文字リンク、オンマウス時はオレンジ」という指定です。 ところが、同じページ内でテーブルを組み、その背景を#000000と指定する事になりまして、その中にリンクを入れると、「黒字に黒文字リンク、オンマウス時はオレンジ」 でリンクの文字が見えなくなってしまいます。 hoverの効果(オンマウス時はオレンジ)の効果を残しつつ、リンク色を二色に分ける方法は無いでしょうか? (クラス指定の使い方がよく判ってないので、自分で指定するとエラーしか出ないのです)。 お忙しい所申し訳ございませんが、宜しくお願い致します。

    • ベストアンサー
    • HTML
  • ホームページビルダーでリンク文字の色を変えるには?

    次のような場合,どのように設定すればよいのでしょうか?テーブルの中に文字(画像ではなく)を入れ,テーブル内の色を,例えば緑,そしてスタイルシートで文字を白に設定したとします。この文字をリンクボタンとして設定した後,ここにマウスポインタがきたとき,背景ではなく文字の色だけを別の色に変えたいのです。スタイルシートでA:HOVERの前景色を指定しても 変化しないのですが,どこが間違っているのでしょうか?

  • 他のページへリンクさせるタグについて

    タイトルのとおりなのですが、ひとつ困っていることがあります。 それは、ページを作る際にaを、 a:hover {…} と、スタイルシートでこのとおりに定義してしまったことです。つまり、aを使うと、表示される文字に対して、全てスタイルシートの{…}とおりになってしまうのです。 そこで、a以外のページをリンクさせられるようなhtmlのタグ、もしくは別の方法があったら、それを教えてください。 新しく作り直すのはたいへんですので、どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • リンクをかけた文字がマウスをあてると動いてしまう

    文字にリンクをかけると、その文字にマウスをあてたら、その文字や隣の文字が改行されたように動いてしまいます。今まで経験のない現象なので、何が原因か分からなくって。アドバイスよろしくお願いします。 ページのスタイルシートへのリンクは、 <link rel="stylesheet" type="text/css" href="CSS/css1.css"> CSSというフォルダにcss1.cssを入れて読み出しています。 外部css1.cssのリンク設定は下記のような記述をしているのですが…。 a:link {color :#0000cc; text-decoration : none; } a:active {color :#000099; } a:hover { color: #ff0000; background-repeat : no-repeat; display: block; }

  • ホームページビルダー10 スタイルシート

    ホームページビルダー10 スタイルシートで、 リンクの入った文字を、カーソルを上にすると、色が変わる(HOVER)非表示のリンク(LINK)表示のリンク(VISITED)があり、リンクの文字の色を変えることができますが、設定すると、そのページのリンクの文字がすべて同じ設定になってしまいます。 例えば、ある文字は HOVERは赤 LINKは白 VISITEDは緑 同ページのほかの文字はHOVERは黒 LINKは黄 VISITEDは青 のように個別に設定したいのですが、 よくわかりません。classを使って、できるというようなことが書いてありますが、よく設定の仕方がわかりません。ご教授お願いいたします。

  • 文字の色をスタイルシートで設定した時、ハイパーリンクの文字の色を変えたいのですが

    スタイルシートの定義で質問です。 文字の色をスタイルシートで設定したとき、ハイパーリンクの文字の色を変えたいのですが やり方が分かりません。よろしくお願いします。 htmlは次の様に書いてます。 これだと、ハイパーリンク文字にマウスをおいても白文字のままです。 この時、赤色にかえたいのですが。 <head> <style type="text/css"> .style1 { color: #FFFFFF; font-size: small; } a:hover { color: red; text-decoration: none; } </style> </head> <body> <a href="xxxx.htm"> <span class="style1">ハイパーリンク文字</span></a> ・ ・ </body>

  • 同一ページのリンク設定を2種類にまとめて表記したい。

    カテ違いでしたので再度こちらで質問させていただきます。 同じページに複数のリンク設定したのですが、それを2種類にまとめて表記したいのです。具体的にいうと下記を #Cと#D をまとめたいのです。 現在、 <style type="text/css"> div#A,B, a:link {color:#284c00;} div#C a:link {color:#ffffff;} div#D a:link {color:#ffffff;} div#A,#B, a:visited{color:#284c00;} div#C a:visited {color:#ffffff;} div#D a:visited {color:#ffffff;} div#A,#B,a:hover {color:#00bbff;} div#C a:hover {color:#000000;} div#D a:hover {color:#000000;} div#A,#B, a:active {color:#ff0000;} div#C a:active {color:#ffffff;} div#D a:active {color:#ffffff;} </style> とし、body以下にdiv idもそれぞれ設定しています。 #Cと#Dをまとめた表記にし、上の 【 div#A#B 】 に影響を与えないようにするにはどうすればいいのでしょうか? 色々調べたりしてやってみたのですが全然うまくいきません。 どうかよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • リンクだけが指定にない色になります。

    テキストの色を全体に統一したいのですが、リンク部分のみ指定にない色(青)になります。 <STYLE type="text/css"> <!-- a:hover { color:ffffff; } --> </style> <BODY TEXT="CC0033" VLINK="CC6666" ALINK="CC6666"> <A HREF="link.html "STYLE="TEXT-DECORATION:NONE;"> <FONT SIZE=-2>link</FONT></A> 直接リンク文字に色を指定すれば直るのですが、スタイルシートでマウスがリンクに触れた時色が変わるという設定が効かなくなるようです。この設定を外さず、任意の色に変える方法はありませんでしょうか。 そのようなサイトを知っている、でも構いません。どうかよろしくお願いいたします。 (powermacG4/OS9/IE5/NN4.7/Jedit4.0)

    • ベストアンサー
    • HTML
  • スタイルシートで

    外部スタイルシートのみでリンクの上にマウスが乗ったら背景の色が変わるようにしているのですが、 a:link {background-color: #FFFFFF;} a:hover {background-color: #000000;} a:visited {background-color: #FFFFFF;} この場合、一度リンクしたら次にマウスが乗っても変化しません。外部スタイルシートのみでうまくいく方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • 訪問後のリンク文字の色

    検索はしたのですがなかったのでお力をお借りします。 リンク色で、訪問前は黒、カーソルを置くと背景が黒・文字が白、訪問直後に赤、他を訪問すると黒に戻る、というように色を設定したいのですが、どうしても直後に赤だけができません。 スタイルシートに記述したいので、スタイルシートでの書き方を教えていただけないでしょうか

    • ベストアンサー
    • HTML

専門家に質問してみよう