PHL*_*LAK 13 anchor xhtml html-table
问题:当用一个锚标签围绕一个表时,表及其中的所有内容都不能在IE 6,7和8中单击.如果我不能用div替换表,我该怎么解决这个问题?
示例代码:
<!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" xml:lang="en-US">
<head>
<title>Test</title>
</head>
<body>
<a href="http://www.google.com">
<table height="35">
<tr>
<td>I'm a link in a table, bet you can'tclick me!</td>
</tr>
</table>
</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您不能在锚标记内部有一个表,因为该表是块标记,而锚是内联标记.块标签不会进入内联标签,因此代码无效.用div元素替换表也不起作用,因为它们也是块元素.
标准规定了有效代码应该如何工作,而不是无效代码应该如何工作.不同的浏览器有不同的方法来充分利用这种情况.在这种情况下,浏览器的一种替代方法是将锚移动到表内,另一种方法是将表移出锚.任何一种方法都会在某些情况下产生所需的结果,但在其他情
将块元素可靠地放入锚点的唯一方法是默认使用一个inlinde元素的元素,并使用CSS将两个元素转换为块元素:
<a href="http://www.guffa.com" style="display:block;">
<span style="display:block;">Eat me</span>
</a>
Run Code Online (Sandbox Code Playgroud)
代码是有效的,因为默认情况下这两个元素都是内联元素,并且在应用样式后它可以工作,因为块元素可以在另一个块元素内.