Visibilidade
A visibilidade (Visibility) em CSS é uma propriedade essencial que determina se um elemento é exibido ou não na página, sem removê-lo completamente da estrutura do layout. Diferentemente de display, que pode remover o elemento e recalcular o layout, visibility apenas oculta o elemento mantendo o espaço que ele ocupa, como se você cobrisse uma janela com cortinas: você não vê o que está dentro, mas o espaço da janela continua lá.
Em sites reais, a visibilidade é usada de formas estratégicas. Em um portfólio online, seções ainda em desenvolvimento podem ser ocultadas temporariamente. Em blogs, comentários ou posts antigos podem permanecer no código, mas não visíveis ao usuário. Em e-commerces, produtos esgotados podem ser ocultados sem alterar a estrutura da página. Sites de notícias podem esconder manchetes temporariamente ou banners de anúncios, enquanto plataformas sociais podem controlar a visibilidade de notificações ou mensagens.
Neste tutorial, você aprenderá como aplicar a propriedade visibility de forma eficiente, entender a diferença entre visibility, display e opacity, e utilizar essa propriedade para criar interfaces organizadas, mantendo a experiência do usuário consistente. Com esse conhecimento, você poderá, como organizar uma biblioteca, gerenciar conteúdos importantes visíveis e conteúdos secundários ocultos, mantendo uma estrutura limpa e funcional.
Exemplo Básico
css/* Basic CSS visibility example */
.featured-item {
visibility: visible; /* Element is fully visible */
}
.archived-item {
visibility: hidden; /* Element is hidden but space is preserved */
}
No exemplo acima, temos duas classes. A classe .featured-item usa visibility: visible, garantindo que o elemento apareça normalmente. A classe .archived-item usa visibility: hidden, escondendo o elemento mas mantendo o espaço que ele ocupa no layout.
Os principais valores da propriedade visibility são: visible, hidden, collapse (usado principalmente em linhas e colunas de tabelas) e inherit, que herda o valor do elemento pai. A sintaxe é direta: seleciona-se o elemento e aplica-se o valor desejado.
Essa propriedade é útil em situações como esconder temporariamente seções de comentários em blogs, anúncios em e-commerces ou posts antigos sem remover o elemento do DOM, permitindo que a estrutura da página permaneça consistente. Uma dúvida comum de iniciantes é por que o espaço do elemento permanece mesmo quando ele está oculto, o que se explica pela diferença entre visibility e display.
Exemplo Prático
css/* Practical CSS visibility example */
/* E-commerce: hide sold-out products */
.sold-out {
visibility: hidden;
opacity: 0.5; /* Semi-transparent to indicate hidden state */
}
/* News site: hide flash banner until activation */
.flash-banner {
visibility: hidden;
background-color: #FFD700;
padding: 15px;
text-align: center;
}
Neste exemplo prático, combinamos visibility com cenários reais. No e-commerce, a classe .sold-out esconde produtos esgotados usando visibility: hidden e aplica opacity: 0.5 para indicar visualmente que estão indisponíveis. É como uma sala com luz fraca, mantendo a percepção do espaço.
No site de notícias, .flash-banner inicialmente está escondido e pode ser exibido dinamicamente via JavaScript. O background-color e o padding garantem destaque visual quando ativado. A combinação de visibility com JavaScript permite interfaces interativas sem alterar a estrutura da página, como exibir conteúdos ou banners com base em eventos ou ações do usuário.
Melhores práticas e erros comuns:
Melhores práticas:
- Adotar mobile-first para compatibilidade em todos os dispositivos.
- Utilizar visibility em vez de display para ocultação temporária, evitando recalcular layout.
- Manter código claro e organizado, com nomenclatura de classes significativa.
-
Usar transitions e animações para efeitos visuais suaves sem impactar a estrutura da página.
Erros comuns: -
Uso excessivo de visibility em vez de display, causando confusão no layout.
- Ignorar specificity, impedindo que regras CSS sejam aplicadas corretamente.
- Falta de design responsivo, comprometendo a exibição em diferentes telas.
- Aplicar overrides excessivos, aumentando complexidade e dificultando depuração.
Para depurar, use DevTools e verifique os estilos computados (Computed Styles). Gerencie cuidadosamente a combinação de visibility, display e opacity para resultados previsíveis.
📊 Referência Rápida
Property/Method | Description | Example |
---|---|---|
visibility | Controla se um elemento é exibido sem removê-lo do layout | visibility: visible; |
visibility | Oculta um elemento mas mantém o espaço que ocupa | visibility: hidden; |
visibility | Oculta linhas ou colunas de tabelas | visibility: collapse; |
inherit | Herde o valor de visibilidade do elemento pai | visibility: inherit; |
opacity | Controla a transparência do elemento enquanto ele ainda ocupa espaço | opacity: 0.5; |
Resumo e próximos passos:
Neste tutorial, exploramos a propriedade CSS visibilidade, aprendendo como ocultar ou exibir elementos sem alterar o layout, diferenciando-a de display e opacity. Vimos aplicações práticas em e-commerces, blogs, sites de notícias e plataformas sociais, entendendo como organizar conteúdos de forma eficiente.
Os próximos passos incluem estudar display, opacity, transitions e animations, combinando esses recursos para criar interfaces interativas e responsivas. Entender como a visibilidade se integra à estrutura HTML e à manipulação via JavaScript permitirá desenvolver páginas mais dinâmicas e fáceis de manter. Praticar em projetos reais e analisar sites profissionais ajudará a consolidar esses conhecimentos.
🧠 Teste Seu Conhecimento
Teste seu Conhecimento
Teste sua compreensão deste tópico com questões práticas.
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo