«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как расширить эффекты наведения CSS за границы ячеек в таблицах?

Как расширить эффекты наведения CSS за границы ячеек в таблицах?

Опубликовано 11 ноября 2024 г.
Просматривать:113

How to Extend CSS Hover Effects Beyond Cell Boundaries in Tables?

Расширение эффектов CSS при наведении за границы ячеек: выделение таблиц в столбцах, группах столбцов

При отображении данных в табличной форме выделение определенных ячеек при наведении часто желательно. Однако выделение строки и столбца, пересекающихся с наведенной ячейкой, может еще больше повысить четкость данных. Это особенно полезно, когда таблица охватывает несколько единиц измерения.

Решение на чистом CSS

К счастью, добиться такого расширенного эффекта выделения можно с помощью чистого CSS. Используя псевдоэлементы (::before, ::after), манипулирование z-индексом и абсолютное позиционирование, мы можем создавать наложения выделения, выходящие за границы ячеек.

Реализация

Следующий код CSS иллюстрирует реализацию:

table {
    overflow: hidden;
    z-index: 1;
}

td, th {
    cursor: pointer;
    padding: 10px;
    position: relative;
}

td:hover::before,
.row:hover::before { 
    background-color: #ffa;
    content: '\00a0';  
    height: 100%;
    left: -5000px;
    position: absolute;  
    top: 0;
    width: 10000px;   
    z-index: -1;        
}

td:hover::after,
.col:hover::after { 
    background-color: #ffa;
    content: '\00a0';  
    height: 10000px;    
    left: 0;
    position: absolute;  
    top: -5000px;
    width: 100%;
    z-index: -1;        
}

HTML-структура

Соответствующая HTML-структура включает дополнительные классы .row и .col для заголовков строк и столбцов соответственно:

Пример вывода

При наведении курсора на ячейку теперь выделяются как соответствующая строка, так и столбец:

[Изображение таблицы с выделенной строкой и столбец]

Этот подход прекрасно работает в современных браузерах и постепенно ухудшается в старых браузерах.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3