Да, это возможно, хотя не буквально <td>
, но что в нем.Простой трюк заключается в том, чтобы убедиться, что содержимое распространяется до границ ячейки (хотя оно и не включает сами границы).
Как уже объяснено, это не является семантически правильным.Элемент a
является встроенным элементом и не должен использоваться в качестве элемента уровня блока.Тем не менее, вот пример (но JavaScript и стиль td: hover CSS будут намного удобнее), который работает в большинстве браузеров:
<td>
<a href="http://example.com">
<div style="height:100%;width:100%">
hello world
</div>
</a>
</td>
PS: на самом деле лучше изменить a
на уровне блокаЭлемент, использующий CSS как , объяснен в другом решении в этой теме .Это не будет хорошо работать в IE6, но это не новость;)
Альтернативное (не рекомендованное) решение
Если ваш мир - только Internet Explorer (редко, в настоящее время), вы можетенарушите стандарт HTML и напишите это, он будет работать, как и ожидалось, но будет неодобрительным и будет считаться опрометчивым (вы не слышали этого от меня).Любой другой браузер, кроме IE, не будет отображать ссылку, но будет правильно отображать таблицу.
<table>
<tr>
<a href="http://example.com"><td width="200">hello world</td></a>
</tr>
</table>