Maison > interface Web > tutoriel CSS > Pourquoi mon élément Sticky ne fonctionne-t-il pas dans son conteneur parent ?

Pourquoi mon élément Sticky ne fonctionne-t-il pas dans son conteneur parent ?

Mary-Kate Olsen
Libérer: 2024-12-27 08:46:09
original
804 Les gens l'ont consulté

Why Isn't My Sticky Element Working Inside Its Parent Container?

Les éléments Sticky ne fonctionnent pas au sein des parents

Vous pouvez rencontrer des scénarios dans lesquels position: sticky ne se comporte pas comme prévu lorsqu'il est imbriqué dans un autre élément.

Le problème se pose car position: sticky prend en compte la taille de l'élément parent. Si la hauteur de l'élément parent est déterminée par son enfant collant, il n'y a pas d'espace auquel l'enfant puisse s'en tenir.

Exemple :

.nav-wrapper {
  position: absolute; 
  bottom: 0;
}

.nav-wrapper nav {
  position: sticky;
  top: 0;
}
Copier après la connexion
<div class="nav-wrapper">
  <nav>
    <a href="#"><li>Home</li></a>
    <a href="#"><li>About</li></a>
  </nav>
</div>
Copier après la connexion

Ajout d'un bordure pour visualiser le problème :

.nav-wrapper {
  position: absolute;
  bottom: 0;
  border: 2px solid;
}

.nav-wrapper nav {
  position: sticky;
  top: 0;
}

body {
  min-height:200vh;
}
Copier après la connexion
<div class="nav-wrapper">
  <nav>
    <a href="#">
      <li>Home</li>
    </a>
    <a href="#">
      <li>About</li>
    </a>
  </nav>
</div>
Copier après la connexion

Solution :

Pour résoudre ce problème, assurez-vous que la taille de l'élément parent est définie indépendamment, laissant de l'espace pour l'enfant collant. Ceci peut être réalisé en utilisant des propriétés CSS telles que height ou min-height.

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