J'ai créé un JSFiddle pour reproduire ce problème.
J'essaie de faire grandir un élément de grille en survol, mais cela provoque ce problème étrange où il passe sous un autre élément de grille, puis saute comme je l'attends.
Pourquoi cela arrive-t-il ? Y a-t-il un moyen de résoudre ?
.container { height: 100vh; width: 100vw; display: grid; grid-template: 1fr / 1fr 1fr; margin: 1em; grid-gap: 1em; } .box { height: 100%; width: 100%; transition: width 0.5s; } .one { background: pink; } .two { background: red; } .box:hover { width: 60vw; }
<div class="container"> <div class="box one"></div> <div class="box two"></div> </div>
J'ai écrit un article détaillé sur cet effet et je vous invite à le lire pour apprendre comment réaliser cet effet en utilisant CSS Grid : https://css-tricks.com/zooming-images-in-a-grid -layout/
Vous pouvez combiner Flexbox avec
flex
结合使用> propriétés abrégées :Essayez-le :