CSSは、使用されるセレクターの特異性の順序で機能し、2つのセレクターが同じように特異的である場合は、どちらが最後に来るかによって機能します。CSSを次のように並べ替えます。
.replyBtn {
background-color:#CCC;
color:#333333;
font-weight:bold;
padding:3px;
font-size:12px;
text-decoration:none;
}
.replyBtn:link {
background-color:#333;
color:#FFF;
font-weight:bold;
padding:3px;
font-size:12px;
}
.replyBtn:visited {
background-color:#CCC;
color:#333333;
font-weight:bold;
padding:3px;
font-size:12px;
}
.replyBtn:hover {
background-color:#333;
color:#FFFFFF;
font-weight:bold;
padding:3px;
font-size:12px;
text-decoration:none;
}
.replyBtn:active {
background-color:#CCC;
color:#333333;
font-weight:bold;
padding:3px;
font-size:12px;
}
.replyBtn
要素をデフォルトでスタイル設定してから、スタイル内のそれらのデフォルトをオーバーライドしているように見えることを指摘しておき.replyBtn:link
ます。同じクラス名を持つ他の要素タイプがあるかもしれませんが、a
/ link固有のスタイルを定義する必要があります。これにより、これらすべてのリンク.replyBtn:link
のデフォルトが形成されます。
.replyBtn:link {
text-decoration: none;
background-color:#333;
color:#FFF;
font-weight:bold;
padding:3px;
font-size:12px;
}
/* all the other stuff... */
OPからのコメントに残されたコメントに応じて編集:
これを試してください:jsfiddle.net/CTxQs。
HTMLマークアップが次のようになっていると仮定します。
<div class="replyBtn"><a href="#btn_comment">Reply</a></div>
CSSが間違っています。このセレクター:
.replyBtn:link {
}
replyBtn
リンクであるクラス名の要素を選択します。これはすべてうまく機能し、a
要素のクラスが。の場合は機能します.replyBtn
。しかし、そうではありません。a
要素は要素の子要素です.replyBtn
div
。セレクターを次のように修正します。
.replyBtn { /* selects the div */
background-color:#CCC;
color:#333333;
font-weight:bold;
padding:3px;
font-size:12px;
text-decoration:none;
}
.replyBtn a:link { /* selects the a that's a child of the div */
background-color:#333;
color:#FFF;
font-weight:bold;
padding:3px;
font-size:12px;
text-decoration:none;
}
.replyBtn a:visited {
background-color:#CCC;
color:#333333;
font-weight:bold;
padding:3px;
font-size:12px;
}
.replyBtn a:hover {
background-color:#333;
color:#FFFFFF;
font-weight:bold;
padding:3px;
font-size:12px;
text-decoration:none;
}
.replyBtn a:active {
background-color:#CCC;
color:#333333;
font-weight:bold;
padding:3px;
font-size:12px;
}
JSフィドルデモ。
さらに読む、エリックマイヤーから: