Table des matières
Contenu superposé par éléments superposés : comprendre le puzzle
Maison interface Web tutoriel CSS Pourquoi une division à marge négative semble-t-elle glisser *entre* le contenu et l'arrière-plan d'une autre division ?

Pourquoi une division à marge négative semble-t-elle glisser *entre* le contenu et l'arrière-plan d'une autre division ?

Dec 17, 2024 am 12:38 AM

Why Does a Negatively Margined Div Appear to Slide *Between* the Content and Background of Another Div?

Contenu superposé par éléments superposés : comprendre le puzzle

Introduction

Dans ce contexte, nous avons deux divs sans aucun style complexe (simplement couleur d'arrière-plan). Nous manipulons le deuxième div pour chevaucher le premier en appliquant une marge supérieure négative. Cependant, au lieu de voir un élément chevaucher complètement l'autre, nous trouvons le deuxième div glissant entre le contenu et l'arrière-plan du premier div, présentant un comportement inattendu.

L'ordre de la peinture

Pour comprendre ce comportement, nous devons nous plonger dans les subtilités de l'ordre de peinture dans les navigateurs. L'ordre de peinture des éléments dans un contexte d'empilement suit une séquence prédéfinie :

  1. Couleur de fond de l'élément, même s'il s'agit de l'élément racine.
  2. Image de fond de l'élément, même si c'est l'élément racine.
  3. Contenu de l'élément, tel que du texte et des images, peint de bas en haut.
  4. Arrière-plan et bordure des éléments enfants.

Expliquer le chevauchement

Dans notre exemple, lorsque le deuxième div chevauche le premier, la séquence de peinture suivante se produit :

  1. La couleur d'arrière-plan du deuxième div est peinte sur l'arrière-plan du premier div.
  2. Contenu de le premier div est peint.
  3. Le contenu du deuxième div est peint au-dessus du contenu du premier div.

Étant donné que le contenu du premier div est peint avant l'arrière-plan du deuxième div, le texte semble être positionné au-dessus du fond vert, créant l'illusion que le deuxième div glisse entre eux.

Changer le comportement

Bien que l'ordre de peinture par défaut puisse conduire à de telles situations, il est possible de modifier le comportement en définissant l'opacité de l'élément qui se chevauche sur un valeur inférieure à 1. Cela déclenche l'étape de peinture de l'opacité avant l'étape de peinture du contenu, garantissant que l'arrière-plan de l'élément superposé apparaît sous son contenu.

Dans notre exemple, l'ajout d'opacité : 0,9999 au deuxième div conduit au comportement attendu, où le fond vert recouvre complètement le contenu du premier div.

Référence

Pour une explication détaillée de l'ordre des peintures CSS, reportez-vous au site officiel du W3C. documentation :

https://www.w3.org/TR/css-backgrounds-3/#box-painting

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cartes empilées avec un positionnement collant et une pincée de sass Cartes empilées avec un positionnement collant et une pincée de sass Apr 03, 2025 am 10:30 AM

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Fontes variables de polices Google Fontes variables de polices Google Apr 09, 2025 am 10:42 AM

Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence

Comment créer un compte à rebours animé avec HTML, CSS et JavaScript Comment créer un compte à rebours animé avec HTML, CSS et JavaScript Apr 11, 2025 am 11:29 AM

Avez-vous déjà eu besoin d'un compte à rebours sur un projet? Pour quelque chose comme ça, il pourrait être naturel d'atteindre un plugin, mais c'est en fait beaucoup plus

Pourquoi les zones réduites pourpre dans la disposition Flex sont-elles considérées à tort «espace de débordement»? Pourquoi les zones réduites pourpre dans la disposition Flex sont-elles considérées à tort «espace de débordement»? Apr 05, 2025 pm 05:51 PM

Questions sur les zones de slash violet dans les dispositions flexibles Lorsque vous utilisez des dispositions flexibles, vous pouvez rencontrer des phénomènes déroutants, comme dans les outils du développeur (D ...

Comment sélectionner un élément enfant avec l'élément de nom de première classe via CSS? Comment sélectionner un élément enfant avec l'élément de nom de première classe via CSS? Apr 05, 2025 pm 11:24 PM

Lorsque le nombre d'éléments n'est pas fixé, comment sélectionner le premier élément enfant du nom de classe spécifié via CSS. Lors du traitement de la structure HTML, vous rencontrez souvent différents éléments ...

Guide des attributs de données HTML Guide des attributs de données HTML Apr 11, 2025 am 11:50 AM

Tout ce que vous avez toujours voulu savoir sur les attributs de données dans HTML, CSS et JavaScript.

Une preuve de concept pour rendre Sass plus rapidement Une preuve de concept pour rendre Sass plus rapidement Apr 16, 2025 am 10:38 AM

Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

See all articles