Maison > interface Web > tutoriel CSS > Pourquoi la « visibilité : masquée » CSS échoue-t-elle pour les effets de survol ?

Pourquoi la « visibilité : masquée » CSS échoue-t-elle pour les effets de survol ?

Mary-Kate Olsen
Libérer: 2024-11-18 22:01:02
original
187 Les gens l'ont consulté

Why Does CSS `visibility: hidden` Fail for Hover Effects?

Dévoilement du mystère : pourquoi la visibilité CSS échoue au survol

La visibilité CSS offre un moyen pratique de manipuler la visibilité des éléments, mais parfois elle tombe sur des obstacles inattendus. Considérons un scénario dans lequel vous avez défini une classe « spoiler » pour rendre le texte invisible initialement et le révéler au survol de la souris. Malgré vos attentes, le texte persiste obstinément dans son état caché, défiant vos efforts de survol.

Plonger dans la cause

Le coupable derrière ce comportement déroutant réside dans la nature d'éléments cachés. Lorsqu'un élément est masqué à l'aide de visibilité:hidden, il devient effectivement invisible et ne consomme aucun espace dans la mise en page. Cela signifie qu’essayer de le survoler revient essentiellement à essayer d’interagir avec le vide. L'élément n'enregistre tout simplement pas l'action de survol.

Résoudre le dilemme de la visibilité

Pour surmonter cet obstacle, vous devez fournir à l'élément un moyen de rester visible. même lorsque son contenu est masqué. Une approche consiste à imbriquer l'élément dans un autre conteneur pouvant recevoir l'événement de survol. Voici comment y parvenir :

CSS :

.spoiler span {
    visibility: hidden;
}

.spoiler:hover span {
    visibility: visible;
}
Copier après la connexion

HTML :

Spoiler: <span class="spoiler"><span>E.T. phones home.</span></span>
Copier après la connexion

Explication :

En imbriquant le texte masqué dans un élément span, vous vous assurez que l'élément spoiler externe reste visible, lui permettant de capturer l'événement de survol. Lorsque le survol se produit, l'élément span interne devient visible, révélant le texte du spoiler.

Considérations supplémentaires

Dans certains navigateurs comme Chrome, vous pouvez rencontrer un léger problème où l'élément de spoiler caché est encore légèrement sélectionnable avec la souris. Pour résoudre ce problème, vous pouvez ajouter un contour à l'élément spoiler :

.spoiler {
    outline: 1px solid transparent;
}
Copier après la connexion

Ce contour transparent garantit que l'élément spoiler a une taille suffisante pour recevoir l'événement de survol sans gêner la visibilité globale du texte.

Avec ces ajustements, votre classe de spoiler fonctionnera parfaitement, préservant l'invisibilité du texte caché et offrant une expérience de survol transparente.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal