为什么不在悬停链接时动手(<a>)?</a>

时间:2011-02-18 20:25:19

标签: html css hyperlink sliding-doors

您好,

我知道在悬停像这样的物体时可以设置cusor:

CSS :

cursor:             hand;
cursor:             pointer;

这应该使用如下所示的链接元素自动完成:

<a onclick="" class="btn1">
  <span>Sök</span>
</a>

但在我看来不是吗?

使用firebug我可以看到后续CSS已应用

<a> element
a.btn1 {
    background: url("Images/Menus/bg_button_a.gif") no-repeat scroll right top transparent;
    color: #444444;
    display: block;
    float: left;
    font: 12px arial,sans-serif;
    height: 24px;
    margin-right: 6px;
    padding-right: 18px;
    text-decoration: none;
}
* {
    margin: 0;
    padding: 0;
}
body {
    font-family: Arial,Verdana,serif;
    font-size: 0.81em;
}

SPAN element
    a.btn1 span {
        background: url("Images/Menus/bg_button_span.gif") no-repeat scroll 0 0 transparent;
        display: block;
        line-height: 14px;
        padding: 5px 0 5px 18px;
    }
    Controls.css (rad 80)
    * {
        margin: 0;
    }

    a.btn1 {
        color: #444444;
        font: 12px arial,sans-serif;
        text-decoration: none;
    }

    body {
        font-family: Arial,Verdana,serif;
        font-size: 0.81em;
    }

如何追踪此问题?

BestRegards

4 个答案:

答案 0 :(得分:11)

只有当ANCHOR设置了href属性时,才会显示该手。

现场演示: http://jsfiddle.net/KAEbR/

答案 1 :(得分:6)

可能是因为您没有“href”值,您可以将其更改为

<a href="#" onclick="" class="btn1"/>

您还可以添加以下css以强制手始终显示链接:

a{ cursor: pointer;}

答案 2 :(得分:3)

如果没有href属性,a标记不会声明超链接。如果它拥有nameid属性,则可以声明超链接的目标。 (http://www.w3.org/TR/html4/struct/links.html#anchors-with-id

如果您要声明的元素与超链接没有语义相似,并且您依靠CSS使其看起来像一个,为什么要这么麻烦?您也可以使用任何旧的span

做的是将a { cursor:pointer; }写入您的CSS,导致任何a元素在悬停时显示,即使是那些不是超链接的元素。相反,您应该像已建议的那样添加href属性。如果没有非JavaScript功能可以使用,则可以输入#作为值。否则,您应该输入要链接到的资源的URI。

另见维基百科:http://en.wikipedia.org/wiki/HTML_element#Anchor

答案 3 :(得分:1)

这不是一个链接。链接具有href个属性。这只是一个在点击时运行JavaScript的锚点。