整个div作为链接?

时间:2011-01-13 07:07:27

标签: html

我想使用整个div作为链接..而不使用"onclick"

这可以通过简单的href吗?

由于

8 个答案:

答案 0 :(得分:19)

不,div元素不能具有href属性,也不会像链接一样。您可以在HTML5中使用以下内容:

<a href="#"><div></div></a>

然而,并非所有当前一代浏览器(尤其是Firefox 3.6)都支持此功能。另一种方法是添加一个绝对定位的a元素,其宽度和高度均为div

div a {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

这是有效的HTML4,但它当然不适用于旧版本的IE。否则应该完成你想要的。请参阅:http://www.jsfiddle.net/uRh7j/

答案 1 :(得分:17)

你不能。但您可以使用<a>style="display:block"<div>,其行为应与<div>完全相同,以替换{{1}}

答案 2 :(得分:4)

简单的答案是否定的,您可以使用onclick与css cursor:pointer来获得相同的功能。

答案 3 :(得分:2)

根据HTML规范(HTML 4.01,草案5和XHTML 1,1.1),锚标记<a>不能包含<div>标记。

答案 4 :(得分:1)

围绕它缠绕锚。

<a href="#"><div></div></a>

答案 5 :(得分:0)

如果不使用onclick事件,我认为这是不可能的。您可以使用display:block;将链接显示为div而不是其他内容。

答案 6 :(得分:0)

为什么不使用jquery这样的javascript框架,让div没有onclick事件但是在jquery中声明一个事件,如下:

   <script>
         $(function(){ 
           $(".click").click(function{ alert('clicked!'); });
        });        
   </script>

   <div class="click"></div>
只差我2美分。感谢。

答案 7 :(得分:0)

您可以通过创建一个小的透明PNG(例如,10px * 10px)并使用CSS将PNG的宽度和高度设置为100%来实现此目的。然后,您可以使用img标记包装a href标记。

这是HTML:

<div id="YourHeader">
    <a href="http://example.com"><img src="/path/to/header10x10.png" /></a>
</div>

这是CSS:

#YourHeader img {
    width: 100%;
    height: 100%; 
}

如果#YourHeader为空div,其唯一目的是通过其background-image属性显示标题图片,则此功能特别方便。