我想要链接整个<div>
,但CSS2不支持将div添加到div(或者跨度)。我的解决方案是使用onClick属性添加链接。这对现代浏览器来说是否可以接受?
示例代码:
<div class="frommage_box" id="about_frommage" onclick="location.href='#';">
<div class="frommage_textbox" id="ft_1"><p>who is Hawk Design?</p></div>
我的测试页面位于http://www.designbyhawk.com/pixel。每日更新。
感谢您的帮助。
答案 0 :(得分:14)
你不需要这样做。这是一种完全简单且符合标准的方法。
默认情况下,块级元素会占用整个可用宽度。默认情况下,a
元素不是块级别的,但您可以使用CSS中的display: block
来实现这些元素。
请参阅this example(无Javascript!)。您可以单击div中的任意位置来访问该链接,即使链接文本不占用整个宽度。您只需删除该p
元素并将其设为a
。
答案 1 :(得分:1)
将点击事件处理程序附加到<div>
元素将对启用了JavaScript的用户有效。
但是,如果您正在寻找渐进增强解决方案,那么您需要坚持使用<a>
元素。
答案 2 :(得分:1)
这是可以接受的,只是它对SEO不好。
也许你可以让<a>
元素像div一样行事? (设置它的样式:块等。)
答案 3 :(得分:0)
它适用于所有浏览器(甚至是IE6)。唯一的问题是搜索引擎可能无法获取它,因为它是javascript。我认为没有其他方法可以使整个div可点击。在其周围加上“a”标签不适用于所有浏览器。
答案 4 :(得分:0)
HTML:
<div class='frommage_box'>
<a href='location.html'>CONTENT GOES HERE</a>
</div>
CSS:
.frommage_box a{
display:block;
height:100%;
}
默认情况下,块元素占用100%的宽度。我们将高度调整为100%。这将允许蜘蛛爬行yoru页面。
答案 5 :(得分:0)
如果你想要实现的只是一个大的可点击框,请尝试在锚点上设置以下CSS:
a {
display: block;
padding: 10px;
width: 200px;
height: 50px;
}