Maison interface Web tutoriel CSS Comment puis-je masquer et afficher du contenu en CSS sans utiliser JavaScript ?

Comment puis-je masquer et afficher du contenu en CSS sans utiliser JavaScript ?

Oct 29, 2024 am 12:37 AM

How Can I Hide and Show Content in CSS Without Using JavaScript?

Masquer et afficher le contenu avec CSS, aucun JavaScript requis

Dans la recherche d'une interface utilisateur propre et efficace, il est essentiel d'avoir le possibilité de masquer et d'afficher du contenu. Traditionnellement, JavaScript est la solution privilégiée pour cette tâche. Cependant, l'utilisation de CSS offre une alternative plus simple et plus performante.

Tentative initiale

Une approche possible en utilisant CSS consiste à utiliser la pseudo-classe ':focus'. Examinons l'extrait CSS d'origine fourni :

<code class="css">#cont {
  display: none;
}
.show:focus + .hide {
  display: inline;
}
.show:focus + .hide + #cont {
  display: block;
}</code>
Copier après la connexion

Problème rencontré

Bien que cette approche réussisse à masquer le contenu lorsque l'on clique sur le lien « Masquer », elle permet également le contenu à masquer en cliquant n’importe où sur la page. Ce comportement n'est pas souhaitable, car il diminue la fonctionnalité prévue du lien « Masquer ».

Solution améliorée

Pour résoudre ce problème, nous introduisons une structure CSS légèrement modifiée. :

<code class="css">body {
  display: block;
}
.span3:focus ~ .alert {
  display: none;
}
.span2:focus ~ .alert {
  display: block;
}
.alert {
  display: none;
}</code>
Copier après la connexion

Fonctionnalité

Dans cette solution améliorée, la pseudo-classe ':focus' est appliquée à deux éléments, '.span3' et '.span2 ', qui représentent respectivement les liens 'Masquer' et 'Afficher'. Lorsque le lien « Masquer » (« .span3 ») obtient le focus, il masque l'élément avec la classe « .alert », qui contient le contenu masqué. À l'inverse, lorsque le lien « Afficher » ('.span2') obtient le focus, il affiche l'élément « .alert ».

Avantages

Cette approche offre plusieurs avantages :

  • Aucun JavaScript requis : Il repose uniquement sur CSS, ce qui le rend plus facile à mettre en œuvre et à maintenir.
  • Masquage ciblé : Le le contenu n'est masqué que lorsque vous cliquez sur le lien « Masquer », empêchant ainsi son masquage involontaire des autres interactions de la page.
  • Modifications minimes : Cela ne nécessite que des modifications mineures du CSS d'origine, préservant le comportement prévu .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Ajout d'ombres de boîte aux blocs et éléments WordPress Ajout d'ombres de boîte aux blocs et éléments WordPress Mar 09, 2025 pm 12:53 PM

Ajout d'ombres de boîte aux blocs et éléments WordPress

Créez un formulaire de contact JavaScript avec le cadre Smart Forms Créez un formulaire de contact JavaScript avec le cadre Smart Forms Mar 07, 2025 am 11:33 AM

Créez un formulaire de contact JavaScript avec le cadre Smart Forms

Créer un éditeur de texte en ligne avec l'attribut satisfaistable Créer un éditeur de texte en ligne avec l'attribut satisfaistable Mar 02, 2025 am 09:03 AM

Créer un éditeur de texte en ligne avec l'attribut satisfaistable

Travailler avec GraphQL Caching Travailler avec GraphQL Caching Mar 19, 2025 am 09:36 AM

Travailler avec GraphQL Caching

Faire votre première transition Svelte personnalisée Faire votre première transition Svelte personnalisée Mar 15, 2025 am 11:08 AM

Faire votre première transition Svelte personnalisée

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres) Mar 04, 2025 am 10:22 AM

Comparaison des 5 meilleurs constructeurs de formulaires PHP (et 3 scripts libres)

Téléchargement de fichiers avec Multer dans Node.js et Express Téléchargement de fichiers avec Multer dans Node.js et Express Mar 02, 2025 am 09:15 AM

Téléchargement de fichiers avec Multer dans Node.js et Express

Show, ne dit pas Show, ne dit pas Mar 16, 2025 am 11:49 AM

Show, ne dit pas

See all articles