"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como estender os efeitos de foco do CSS além dos limites das células nas tabelas?

Como estender os efeitos de foco do CSS além dos limites das células nas tabelas?

Publicado em 2024-11-11
Navegar:907

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

Estendendo os efeitos de foco do CSS além dos limites das células: destacando tabelas em colunas, grupos de colunas

Ao exibir dados em formato tabular, destacando células específicas ao passar o mouse muitas vezes é desejável. No entanto, destacar a linha e a coluna que se cruzam com a célula focalizada pode aumentar ainda mais a clareza dos dados. Isso é especialmente útil quando a tabela abrange várias unidades de medida.

Solução CSS pura

Felizmente, é possível obter esse efeito de realce estendido com CSS puro. Utilizando pseudoelementos (::before, ::after), manipulação de índice z e posicionamento absoluto, podemos criar sobreposições de destaque que se estendem além dos limites das células.

Implementação

O seguinte código CSS ilustra a implementação:

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;        
}

Estrutura HTML

A estrutura HTML correspondente inclui classes adicionais .row e .col para cabeçalhos de linha e coluna, respectivamente:

Exemplo de saída

Passar o mouse sobre uma célula agora destaca a linha e a coluna correspondentes:

[Imagem de uma tabela com linha destacada e coluna]

Essa abordagem funciona perfeitamente em navegadores modernos e se degrada normalmente em navegadores mais antigos.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3