"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 posso ocultar e mostrar conteúdo com CSS sem JavaScript?

Como posso ocultar e mostrar conteúdo com CSS sem JavaScript?

Publicado em 2024-11-06
Navegar:466

How Can I Hide and Show Content with CSS Without JavaScript?

Ocultando e mostrando conteúdo com CSS: um truque sem JavaScript

Ao trabalhar com desenvolvimento web, controlar a visibilidade do conteúdo geralmente é essencial. Tradicionalmente, isso é conseguido usando JavaScript, mas CSS também pode ser usado para criar efeitos elegantes de ocultação e exibição. Uma dessas técnicas é descrita abaixo, abordando um desafio específico encontrado em abordagens anteriores.

Hide/Show Content Toggle:

Pode-se empregar CSS para criar uma alternância de conteúdo que permite aos usuários ocultar e mostrar uma lista de itens. O snippet a seguir demonstra essa funcionalidade:

#cont {
  display: none;
}
.show:focus   .hide {
  display: inline;
}
.show:focus   .hide   #cont {
  display: block;
}

O desafio:

Embora o CSS acima atinja o efeito desejado, ele enfrenta uma desvantagem. Quando o conteúdo é exibido, ele pode ser ocultado simplesmente clicando em qualquer lugar da página. Esse comportamento é indesejável, pois só queremos que o conteúdo seja oculto quando o link "Ocultar" for clicado.

Solução:

Para resolver esse problema, faça o seguinte Código CSS e HTML revisado podem ser usados:

CSS:

body {
  display: block;
}
.span3:focus ~ .alert {
  display: none;
}
.span2:focus ~ .alert {
  display: block;
}
.alert {
  display: none;
}

HTML:

Hide Me
Show Me

Some alarming information here

Com essas alterações, a mensagem de alerta só será ocultada quando o elemento span "Hide Me" for clicado. Esta solução resolve efetivamente o problema e fornece um método baseado em CSS para ocultar e mostrar conteúdo sem depender de JavaScript.

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