Je veux faire en sorte que la barre de navigation reste en haut de la fenêtre lorsqu'un utilisateur fait défiler la page, mais cela ne fonctionne pas et je ne sais pas pourquoi. Si vous pouvez m'aider, voici mon code HTML et CSS :
.container {
min-height: 300vh;
}
.nav-selections {
text-transform: uppercase;
letter-spacing: 5px;
font: 18px "lato",sans-serif;
display: inline-block;
text-decoration: none;
color: white;
padding: 18px;
float: right;
margin-left: 50px;
transition: 1.5s;
}
.nav-selections:hover{
transition: 1.5s;
color: black;
}
ul {
background-color: #B79b58;
overflow: auto;
}
li {
list-style-type: none;
}
<main class="container">
<nav style="position: sticky; position: -webkit-sticky;">
<ul align="left">
<li><a href="#/contact" class="nav-selections" style="margin-right:35px;">Contact</a></li>
<li><a href="#/about" class="nav-selections">About</a></li>
<li><a href="#/products" class="nav-selections">Products</a></li>
<li><a href="#" class="nav-selections">Home</a></li>
</ul>
</nav>
</main>
19 votes
Position:sticky a besoin d'une coordonnée pour dire où coller
77 votes
Il faut également faire attention aux éléments parents.
position: sticky
peut cesser de fonctionner si elle se trouve à l'intérieur d'une flexbox, à moins que vous ne fassiez attention. et échouera également s'il y a unoverflow: hidden
ouoverflow: auto
entre lui et ce dans quoi il défile (corps Root ou ancêtre le plus proche avec overflow : scroll)5 votes
@ user56reinstatemonica8 OMG mercikkkyou tellement de m'avoir parlé de la
overflow: hidden
etoverflow: auto
! Je me suis gratté la tête pendant des jours pour essayer de faire fonctionner cette merde.0 votes
J'ai écrit un article sur le positionnement collant, si vous êtes intéressé, consultez-le ici : dioxmio.medium.com/sticky-done-the-right-way-880af0122a71
0 votes
@user56reinstatemonica8 merci, pour moi ça échouait parce que je l'utilisais à l'intérieur d'un flexbox.