Maison >interface Web >tutoriel CSS >Pourquoi IE11 traite-t-il les éléments flexibles absolument positionnés comme des éléments In-Flow ?

Pourquoi IE11 traite-t-il les éléments flexibles absolument positionnés comme des éléments In-Flow ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-27 19:50:15554parcourir

Why Does IE11 Treat Absolutely Positioned Flex Items as In-Flow Elements?

Interaction d'un élément flexible à positionnement absolu avec le flux normal dans IE11

Dans une situation où un conteneur contient plusieurs divs, dont l'un est en position absolue en arrière-plan, IE11 présente un comportement non conventionnel par rapport à d'autres navigateurs comme Chrome ou Firefox. Alors que le div positionné en absolu est correctement supprimé du flux normal, IE11 le traite comme un élément flexible entrant, conduisant à une répartition inattendue de l'espace entre les div.

Racine du problème

Le nœud du problème réside dans la violation par IE11 de la spécification flexbox. Conformément aux spécifications, les enfants flexibles positionnés de manière absolue doivent être exclus de la disposition flexible et ne pas contribuer aux calculs d'espacement.

Solutions de contournement

Plusieurs solutions de contournement peuvent atténuer ce problème dans IE11. :

Repositionner l'arrière-plan Div

Au lieu de placer le div d'arrière-plan en position absolue après les autres div, déplacez-le vers une position entre eux, créant une structure comme :

<div class="container">
    <div class="c1">Content 1</div>
    <div class="bg">Background</div>
    <div class="c2">Content 2</div>
</div>

Résumé

L'inadéquation de comportement entre IE11 et les navigateurs conformes résulte de l'adhésion d'IE11 à une interprétation obsolète de la spécification flexbox. En utilisant l'une des solutions de contournement, les développeurs peuvent garantir un comportement cohérent dans tous les navigateurs lorsqu'ils traitent des éléments flexibles positionnés de manière absolue.

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!

Déclaration:
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