web-dev-qa-db-ja.com

ホバリング時に<a>タグに下線を引く

<a>ホバーすると、タグに下線が付きます。次のコードがありますが、機能しません。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">

     a.hover:hover {text-decoration: underline;}
     </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <a class="hover" style=" text-decoration:none; color:red" href="">Site Map</a>

    </div>
    </form>
</body>
</html>

この:

a:hover {text-decoration: underline;}
<a  style=" text-decoration:none; color:red" href="">Site Map</a>

どちらも機能しません。

私は何をすべきか?何が問題ですか?

9
jal nami

style属性はどのセレクタよりも 特定 であるため、常にカスケードの最後に適用されます(恐ろしい!importantルールは存続しません)。 CSSをスタイルシートに移動します。

a.hover {
    color: red;
    text-decoration: none;
}

a.hover:hover {
    text-decoration: underline;
}

(また、クラスのセマンティックな名前をお勧めします)。

27
Quentin

インラインスタイルは、ページ上のスタイルをオーバーライドします。

インラインスタイルを削除し、これを使用します。

<style type="text/css">
    a {text-decoration: none;}
    a:hover {text-decoration: underline;}
</style>

また、<style>、外部cssファイルを使用します。メンテナンスが大幅に容易になります。

3
Shankar Cabus

次のようなコードを書く必要があると思います:デモ:http://jsfiddle.net/BH7YH/ )

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
           a {text-decoration: none; color:red}
           a:hover {text-decoration: underline;}
     </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <a class="hover" href="">Site Map</a>

    </div>
    </form>
</body>
</html>
1

ホバーを使用する場合、インラインスタイルは使用できません。次のように書く必要があります:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">

a.hover
{
    text-decoration: none;
    color:red
}

 a.hover:hover
 {
    text-decoration: underline;
    }
 </style>
</head>
<body>
<form id="form1" runat="server">
<div>
<a class="hover"  href="">Site Map</a>

</div>
</form>
</body>
</html>
0
MjeOsX