J'essaie de positionner des pseudo-éléments, comme cela devrait être possible selon les spécifications, sur une grille. Cela fonctionne très bien pour ma mise en page extérieure, que j'ai définie sur la balise <body>
mais cela ne fonctionne pas pour le <header>
qui est elle-même une grille.
Comment puis-je positionner l'en-tête nav:after
dans la colonne de droite de la grille ? Pourquoi cela ne fonctionne-t-il pas dans mon exemple ?
J'apprécie toute aide ! Voici le code :
body {
display: grid;
grid-template-columns: 1fr 800px 1fr;
}
header {
grid-column: 1 / 4;
grid-row: 1;
display: grid;
grid-template-columns: 1fr 800px 1fr;
}
/* Works great */
header:before {
content: 'Left';
grid-column: 1 / 2;
}
/* Doesn't work, treated as a child element */
header nav:after {
content: 'Right';
grid-column: 3 / 4;
}
header nav {
grid-column: 2 / 3;
}
<body>
<header>
<nav>
<ul>
<li><a href='#'>Link</a></li>
<li><a href='#'>Link</a></li>
<li><a href='#'>Link</a></li>
</ul>
</nav>
</header>
</body>
Merci !