Сделать строку таблицы кликабельной с помощью HTML и CSS

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Вы можете сделать всю строку таблицы кликабельной с помощью обработчиков событий JavaScript и правильного расположения тегов ссылок:

HTML
Скопировать код
<style>
.full-width-link {
  display: block;
  width: 100%;
  height: 100%;
}
</style>

<table>
  <tr onclick="window.location='https://www.example.com';">
    <td>
      <a href="https://www.example.com" class="full-width-link">Кликните сюда!</a>
    </td>
    <td>Или здесь... В любом случае вы попадете на нужную страницу!</td>
  </tr>
</table>

CSS-класс .full-width-link позволяет ссылке занимать все доступное пространство внутри ячейки, улучшая таким образом удобство использования.

Кинга Идем в IT: пошаговый план для смены профессии

Устранение "мёртвых" зон

Каждый пиксель важен при навигации по сайту. Вы можете уменьшить некликабельные области, настроив отступы в CSS и расширив активную область:

CSS
Скопировать код
td, th {
  padding: 0;
}
.full-width-link {
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
}

Применение современного Javascript

Используя такие современные методы JavaScript как querySelectorAll и addEventListener, Вы можете сделать строки таблицы кликабельными без привлечения библиотеки jQuery:

JS
Скопировать код
document.querySelectorAll('tr[data-href]').forEach(row => {
  row.addEventListener('click', () => {
    window.location = row.dataset.href;
  });
});

Использование атрибута data-href для хранения URL делает код более читабельным и удобным для поддержки.

Построение структуры внутри ссылок

Чтобы избежать проблем с вложенностью блочных элементов в тегах <a>, рекомендуется использовать более простой <span>:

HTML
Скопировать код
<td>
  <a href="https://www.example.com" class="full-width-link">
    <span class="link-content">На меня безопасно кликать!</span>
  </a>
</td>

Визуализация

Воспринимайте каждую строку таблицы как новый уровень в игре на внимание пользователя:

Строка (Уровни игры)Кликабельность
Уровень 1 🎮
Уровень 2 🎮
Уровень босса 🎮

Каждый клик ассоциируйте с переходом на новый уровень. Идите вперед, играйте!

Эксперименты с гибкостью

Использование div вместо элементов таблицы с применением CSS-стилей таблицы расширяет возможности для гибкости. Благодаря использованию события onClick в JavaScript, вы получаете больше контроля над функциональностью.

Проверка совместимости с различными браузерами

Не забывайте, что стилизация ссылок как таблиц может вызвать проблемы совместимости в различных браузерах и на различных устройствах. Проводите обязательное тестирование на разных платформах.

Полезные материалы

  1. :hover – CSS: Cascading Style Sheets | MDN
  2. HTML Таблицы
  3. Метод Window setTimeout()
  4. Введение в события браузера
  5. Руководство по авторской практике ARIA | APG | WAI | W3C
  6. Событие click | Документация jQuery API
  7. Делегирование событий