14歳の自分に衝撃の事実を告げてください

スタイルシートの定義で質問です。
文字の色をスタイルシートで設定したとき、ハイパーリンクの文字の色を変えたいのですが
やり方が分かりません。よろしくお願いします。

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>

A 回答 (2件)

 リンクの色は、一般文字色と同じになる、背景と同色になる、などよほどの理由がない限り変えないほうが、アクセスビリティ(アクセシビリティ)の観点から避けた方がよい(サイトごとにリンクの色が違うと惑わす)のですが、あえて変更するなら単純にタイプセレクタ (

http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )を使います。

★ページ内に<a name="ABC">などがある場合は、そこにも反応することを避けるため、リンクに関する疑似クラス ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )を使うべきでしょう。
 訪問済みなどは、
★動的な疑似クラス ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )で設定します。

[CSS]タイプセレクタのみ
<style type="text/css">
<!--
a{
color: white;
font-size: small;
}
a:visited { color: magenta;}
a:hover,a:focus{ color: yellow;}
a:active { color: lime;}
-->
</style>

[CSS]リンクセレクタを使って、<a name="">に適用しない。
<style type="text/css">
<!--
a:link{
color: white;
font-size: small;
}
a:visited { color: magenta;}
a:hover,a:focus{ color: yellow;}
a:active { color: lime;}
-->
</style>
<ul>
<li><a href="#xxxx">ハイパーリンク文字</a></li>
</ul>
<p><a name="xxxx">ハイパーリンク文字</a></p>
    • good
    • 0

何故 <span> を使うのでしょう?


<a> に直接クラス名を付ければすむのでは?

<style type="text/css">
<!--
a.style1 { color: #fff; font-size: small; }
a.style1:hover { color: #f00; text-decoration: none; }
-->
</style>

<a href="xxxx.htm" class="style1">ハイパーリンク文字</a>
    • good
    • 1
この回答へのお礼

hujitomoさん、ありがとうございます。
できました。

スタイルシートの使い方が、よくわからないので、
少しずつ、勉強していきます。

お礼日時:2010/03/25 07:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!