我有一个 我正在寻找类似的东西 来到这里是为了找到一个更好的解决方案,但我不喜欢这里提供的任何一个.我想你们有些人误解了这个问题.OP希望使一个充满内容的div表现得像一个链接.其中一个例子就是facebook广告 - 如果你看,它们实际上是正确的标记. 对我来说,no-nos是:javascript(不仅仅需要一个链接,而且非常糟糕的SEO /可访问性); HTML无效. 本质上是这样的:
使用常规CSS技术和有效的HTML构建面板. 如果用户点击面板,那么在某处放置一个您想要成为默认链接的链接(您也可以有其他链接). 在该链接中,放置一个空的span标签( 给小组的位置:相对 将以下CSS应用于空跨度: 给出面板位置内的任何其他链接:relative和一个合适的z-index(> 1),将它们放在默认的span链接前面 你不能自己创建 然后,您可以在其上设置宽度和高度. 这是一个古老的问题,但我想我会回答它,因为这里的每个人都有一些疯狂的解决方案.它实际上非常简单...... 锚标签的工作原理如下 - SOOO ... 虽然我不确定这是否有效.如果这是口语解决方案背后的原因,那么我道歉......
,但这是有效的XHTML 1.1.
1> thepeer..:不是
- 谢谢@Campey)
{
position:absolute;
width:100%;
height:100%;
top:0;
left: 0;
z-index: 1;
/* fixes overlap error in IE7/8,
make sure you have an empty gif */
background-image: url('empty.gif');
}
对于那些像我一样愚蠢并且误读了某些东西的人来说,这是一个小提琴,所以不得不玩一下:http://jsfiddle.net/hf75B/1/
谢谢效果很好.如果IE8中的事情发生了可怕的破坏(就像他们为我做的那样),请确保您有一个开始和结束范围标记( span>),而不是空的范围( ).
你在IE9中试过这个吗?我喜欢这种方法,而且我正在使用它,但我只是在IE9中对它进行了测试(包括来自@AlexMA的小提琴),而我所看到的是你可以点击div中的任何地方除了文本外.将鼠标悬停在文本上时,光标将变为标准文本光标,单击文本时不会执行任何操作.由于用户容易点击文本元素(当文本元素填满大部分div时),这使得该解决方案在IE9中无法使用.有没有其他人经历过这个或有解决方案?
有人知道怎么做:悬停css使用这个解决方案吗?也许是指小提琴的答案?
2> Soviut..:div
一个链接,但是你可以让一个标签充当a
block
,与之相同的行为a {
display: block;
}
这是一个模糊问题的完美有效的解决方案.你实际上可以简单地将一个锚元素包裹在div周围,但这在语义上是不正确的.(内联元素中的块元素).
但是,这并不会将"div"变成链接.它链接到块元素.这有点不同.
jjnguy:怎么样?我不喜欢链接中有很多内容,但这也可能是导航菜单或类似内容的一部分.锚元素()不一定必须是纯文本,是吗?以哪种方式_wrong_使其成为一个块?它在语义上是正确的,它可以用来显示它你想要的.
jjnguy:这是很常见的做法.我不是说用链接替换div,但是通过问题的声音,他只是想要一个块,他可以像按钮或其他东西一样点击.
3> Zizo47..: EVERYTHING IN HERE TURNS INTO A LINK
您的示例不是有效的HTML - 包含在内联元素中的块元素 - *除非*您使用的是HTML5,它已对链接进行了例外处理.
只要`