Pourquoi votre code présente un comportement semblable à celui d'un index Z
Dans votre balisage, l'élément .container a la position : relative, ce que vous avez remarqué imite apparemment l'effet du z-index. Ce comportement découle de l'ordre de peinture CSS.
Ordre et positionnement de la peinture
La spécification CSS dicte l'ordre dans lequel les calques sont peints à l'écran. Sans position: relative, votre élément .container est "in-flow" et peint à l'étape 4 de l'ordre de peinture.
À l'inverse, lorsque vous ajoutez position: relative, le .container devient "positionné" et tombe sous étape 8 de la commande de peinture.
Peinture de commande d'arbre
Au sein de chaque étape de peinture, les éléments sont peints dans « l’ordre des arbres ». Dans votre cas, les éléments .container et .mask sont des éléments positionnés. Puisqu'aucun des deux n'a de valeur d'index z explicite, l'ordre de l'arbre détermine lequel est peint en haut.
Réorganisation des éléments
Dans votre balisage initial, l'élément .mask apparaît après le .container dans la hiérarchie. Par conséquent, lorsque les deux éléments sont positionnés, le .mask est peint en dernier, recouvrant le .container.
Cependant, si vous réorganisez les éléments de manière à ce que .container soit après .mask, les deux éléments seront peints à l'étape 8. , toujours dans l'ordre arborescent. Dans ce scénario, .container sera peint en dernier, supprimant le "comportement z-index" que vous avez observé plus tôt.
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!