Maison > interface Web > tutoriel CSS > Pourquoi IE11 inclut-il des éléments flexibles positionnés de manière absolue dans les calculs de mise en page ?

Pourquoi IE11 inclut-il des éléments flexibles positionnés de manière absolue dans les calculs de mise en page ?

Mary-Kate Olsen
Libérer: 2024-12-21 08:03:10
original
295 Les gens l'ont consulté

Why Does IE11 Include Absolutely Positioned Flex Items in Layout Calculations?

Élément flexible positionné de manière absolue pris en compte dans le flux dans IE11

Problème

Dans un conteneur flexbox avec deux div remplis de contenu et un div d'arrière-plan positionné de manière absolue , IE11 (et Firefox avant la version 52) prend en compte le div en position absolue lors du calcul de la répartition de l'espace. Ce comportement s'écarte de la spécification flexbox, qui stipule que les éléments en position absolue ne participent pas à la disposition flexible.

Solutions de contournement

Déplacer la division en position absolue

Une solution possible consiste à déplacer le div en position absolue entre les deux autres div, comme illustré ci-dessous :

<div class="container">
    <div class="c1">Content 1</div>
    <div class="bg">Background</div>
    <div class="c2">Content 2</div>
</div>
Copier après la connexion

Utiliser Flex Wrap

Une autre solution de contournement consiste à utiliser flex wrap pour forcer l'élément en position absolue à passer sur une nouvelle ligne. Cela l'empêche d'affecter la répartition de l'espace des autres éléments :

.container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}
Copier après la connexion

Dans Firefox (jusqu'à la v52) : Remplacer le comportement par défaut

Pour Firefox (version antérieure 52), cette propriété CSS peut être utilisée pour remplacer le comportement par défaut et supprimer le div en position absolue du flux :

.container {
    display: -moz-box;  /* Firefox specific property */
    -moz-box-orient: horizontal;  /* Firefox specific property */
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal