一尘不染

如何从表格单元格建立连结

html

我有以下内容:

<td>
  some text
  <div>a div</div>
</td>

我想使整个<td>...</td>超链接。我希望不使用JavaScript。这可能吗?


阅读 244

收藏
2020-05-10

共1个答案

一尘不染

是的,这是可能的,尽管不是字面上的<td>,而是其中的内容。一个简单的技巧是,确保内容扩展到单元格的边界(尽管它本身不包括边界)。

如前所述,这在语义上是不正确的。一个a元素是内嵌元件,并且不应该被用作块级元素。但是,这是一个适用于大多数浏览器的示例(但JavaScript加td:hoverCSS样式会更整洁):

<td>
  <a href="http://example.com">
    <div style="height:100%;width:100%">
      hello world
    </div>
  </a>
</td>

PS:实际上,a使用CSS来更改块级元素是更明智的选择,如该线程的另一种解决方案所述。虽然它在IE6中不能很好地工作,但这不是什么新闻;

替代(非建议)解决方案

如果您的世界只是InternetExplorer(如今很少见),则您可以违反HTML标准并编写此代码,它可以按预期工作,但是会倍受皱眉并被认为是不明智的(您从未从我这里听到过此消息)。除IE以外的任何其他浏览器都不会呈现该链接,但会正确显示该表。

<table>
    <tr>
        <a href="http://example.com"><td  width="200">hello world</td></a>
    </tr>
</table>
2020-05-10