Maison >interface Web >tutoriel CSS >Comment empiler verticalement des éléments superposés absolument positionnés en CSS ?
En CSS, la propriété position peut être définie sur différentes valeurs, notamment relatives, absolues et fixes. Lorsqu'un élément est positionné de manière absolue, il est supprimé du flux de documents normal et positionné par rapport à son ancêtre positionné le plus proche ou à la fenêtre d'affichage. Ce comportement peut conduire à l'empilement d'éléments les uns sur les autres, ce qui peut ne pas être l'effet souhaité.
Dans l'exemple suivant, les éléments avec les classes .row et .col sont en position absolue, ce qui les amène à chevauchement :
body { position: relative; /* Contains absolutely positioned elements */ } .container { position: absolute; } .row { position: relative; } .col1, .col2 { position: absolute; }
Pour résoudre ce problème et que les éléments s'empilent verticalement, nous devons préciser leurs hauteurs et nous assurer que leur position verticale est gérée correctement.
Bien qu'il ne soit pas idéal de modifier le CSS des éléments, une solution possible sans supprimer les propriétés de position est de spécifier la hauteur de chaque .row et d'ajuster la propriété top du second. .row pour tenir compte de la hauteur du premier .row :
body { /* position: relative; remains unchanged */ } .container { /* position: absolute; remains unchanged */ } .row { position: relative; height: 2em; /* Specify height for vertical stacking */ } .col1, .col2 { /* position: absolute; remains unchanged */ } #row2 { top: 2em; /* Offset to account for the height of #row1 */ }
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!