Est-il possible de créer un élément :hover
sur l'élément :before
afin que quelque chose s'affiche dessus?Problèmes de survol et avant CSS3
Répondre
Oui, il peut être fait comme ..
.selector:hover:before {/* css rule goes here */}
Il est impossible d'ajouter un style :hover
(ou :active
, ou :focus
) à des éléments tels que :before
ou :after
. Ils devraient être appliqués à un élément HTML réel, pas à un pseudo-élément. De votre capture d'écran, il apparaît que vous essayez de créer un menu de survol. Selon vos styles, vous pouvez appliquer les styles :hover
à l'ul lui-même. Cependant, vous ne pourrez contrôler que les styles ul
avec CSS - vous ne pouvez pas contrôler les styles li
en fonction de l'état du survol de leur parent sans JS.
Si JS est une option, utilisez-la - elle devrait être assez simple dans ce cas, et faciliterait grandement le code. Si css-only est requis, vous pouvez contourner ce problème en réglant le <ul>
à une hauteur spécifique (assez grande pour afficher l'élément hover
mais rien d'autre), et donner une hauteur plus grande à ul:hover
, ou height: auto;
, etc.
Son appelé offcanvas
Reportez-vous https://www.w3schools.com/howto/howto_js_off-canvas.asp
ET https://v4-alpha.getbootstrap.com/examples/offcanvas/
Laissez-moi savoir si vous avez besoin d'aide supplémentaire
https://stackoverflow.com/questions/5777210/how-to-write-hover-condition-for-abefore-and-aafter – onetwo12
Possible copie de [Comment écrire: condition hover pour un: avant et un: après? ] (https://stackoverflow.com/questions/5777210/how-to-write-hover-condition-for-abefore-and-aafter) – cjl750