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