Я пытаюсь поместить ссылку в элемент <th>
, и элемент <a>
заполнит все пространство <th>
. В то время как я могу получить его для горизонтальной горизонтальной ширины: 100%, заставить его заполнить по вертикали, как оказалось, хлопотно. высота: 100%, похоже, не имеет эффекта.
Я хочу сделать это, чтобы пользователь мог щелкнуть в любом месте ячейки, чтобы активировать ссылку. Я знаю, что могу поместить свойство onClick в <th>
и обработать его через 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>
не заполняется вертикально, что создает неудобный вид. Я мог бы зафиксировать фон hover, поместив его в стиль th: hover a, но ссылка по-прежнему будет работать только на самом деле, если вы щелкнете, где находится фактический тег a
.