我试图在<th>
元素中插入一个链接,并且让<a>
元素填充整个<th>
的空间。虽然我可以使用width:100%来水平填充,但要垂直填充似乎很麻烦。 height:100%似乎没有效果。
我想做到这一点,以便用户可以在单元格的任何位置单击来激活链接。我知道我可以在<th>
本身上放置一个onClick属性,并通过javascript处理它,但我想以正确的CSS方式做到这一点。
澄清:表格的每一行高度可能不同,因为内容是动态的,因此使用固定高度的 <a>
或 <th>
元素的解决方法将不起作用。
这是一些示例代码:
<style type="text/css">
th {
font-size: 50%;
width: 20em;
line-height: 100%;
}
th a {
display:block;
width:100%;
height:100%;
background-color: #aaa;
}
th a:hover {
background-color: #333
}
</style>
<table border=1>
<tr>
<th><a href="foo">Link 1</a></th>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam dapibus tortor.</td>
</tr>
<tr>
<th><a href="foo">Link 2</a></th>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam dapibus tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam dapibus tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam dapibus tortor. </td>
</tr>
</table>
这是一个包含完全相同代码的页面。
正如您可以看到,如果您将鼠标悬停在链接上,<a>
元素不会垂直填充,从而产生尴尬的外观。我可以通过将其放在“th:hover a”样式中来修复悬停背景,但是只有在实际的 a
标记所在的位置单击链接才会实际运行。