Maison interface Web tutoriel CSS Raisons et solutions pour l'échec de la marge supérieure de Firefox

Raisons et solutions pour l'échec de la marge supérieure de Firefox

Feb 09, 2017 am 11:49 AM

Pourquoi devrions-nous traduire cette description ? Quelqu'un a traduit le CSS2, mais après l'avoir regardé, c'est très approximatif (je ne dis pas que je suis le seul, le traducteur est vraiment admirable ! Ces derniers temps, je suis de plus en plus en contact avec le CSS et le CSS2). xhtml, mais plus il y en a, plus il y a de confusion.
Maintenant, je pense que de nombreux problèmes ne peuvent pas du tout être qualifiés de problèmes. La raison réside dans notre compréhension hâtive. Par exemple, tuer un poulet avec un couteau de taureau n'est pas impossible, mais déraisonnable et inapproprié. l'apparence sera fausse. , si vous commencez à résoudre le problème à partir de l'apparence, il est inévitable que vous soyez toujours confus. Comme je l'ai dit, vous devez être terre-à-terre et ne pas être impétueux.
Dans cette description, « marges réduites » signifie : attributs de marge adjacents entre 2 modèles de boîte ou plus (la relation peut être adjacente ou imbriquée) (il ne peut pas y avoir de contenu non vide, de zone de remplissage, de bordure ou d'utilisation d'une méthode de séparation claire) sont combinés et représentés comme une marge unique.
Dans CSS2.1, les marges horizontales ne seront pas réduites.
Les marges verticales peuvent être réduites dans certains modèles de boîtes :
1. Dans le flux de documents normal, les marges verticales adjacentes de 2 modèles de boîtes ou plus au niveau du bloc seront réduites.
La méthode de calcul de la valeur de marge finale est la suivante :
a. Si toutes sont des valeurs positives, prenez la plus grande
Si toutes ne sont pas des valeurs positives, prenez la valeur absolue, puis soustrayez la valeur ; valeur maximale de la valeur positive.
c. S'il n'y a pas de valeur positive, prenez la valeur absolue, puis soustrayez la valeur maximale de 0.
Remarque : les modèles de boîtes adjacentes peuvent être générés dynamiquement à partir d'éléments DOM et n'ont aucune relation d'adjacent ou d'héritage.
2. Dans les modèles adjacents et, si l'un d'entre eux est flottant, la marge verticale ne sera pas réduite, même entre un modèle de boîte flottante et ses éléments enfants.
3. La marge entre l'élément avec l'attribut de débordement défini et ses éléments enfants ne sera pas pliée (sauf lorsque la valeur de débordement est visible).
4. Pour les modèles de boîtes avec un positionnement absolu (position:absolute), les marges verticales ne seront pas réduites, même entre elles et leurs éléments enfants.
5. Pour les éléments avec display:inline-block défini, la marge verticale ne sera pas réduite, même entre leurs éléments enfants.
6. Si les marges supérieure et inférieure d'un modèle de boîte sont adjacentes, sa marge peut s'effondrer à travers elle. Dans ce cas, la position de l'élément dépend du fait que les marges de ses éléments adjacents sont réduites ou non.
a. Si la marge d'un élément et la marge supérieure de son élément parent sont réduites ensemble, la définition de la bordure supérieure du modèle de boîte est la même que celle de son élément parent.
b. De plus, l'élément parent de tout élément ne participe pas au pliage de la marge, ou seule la marge inférieure de l'élément parent participe au calcul. Si la bordure supérieure de l'élément est différente de zéro, alors la position de la bordure supérieure de l'élément est la même qu'auparavant.
La marge supérieure d'un élément auquel une opération claire est appliquée ne s'effondrera jamais avec la marge inférieure de son élément parent au niveau du bloc.
Notez que la position des éléments qui ont été recouverts par le pli n'a aucun effet sur la position des autres éléments qui ont été réduits ; la position de la bordure supérieure n'est requise que lors de la disposition des enfants de ces éléments.
7. La marge verticale de l'élément racine ne sera pas réduite.
La marge inférieure d'un élément flottant au niveau du bloc est toujours adjacente à la marge supérieure de son prochain frère flottant au niveau du bloc, à moins que cet élément frère ne soit effacé.
La marge supérieure d'un élément flottant au niveau du bloc est adjacente à la marge supérieure de son premier enfant flottant au niveau du bloc (premier enfant flottant au niveau du bloc entrant) (si l'élément n'a pas de bordure supérieure, pas de padding-top et les éléments enfants ne sont pas effacés).
Si la marge inférieure d'un élément flottant au niveau du bloc remplit les conditions suivantes, alors elle est adjacente à la marge inférieure de son dernier élément enfant flottant au niveau du bloc (si l'élément ne spécifie pas padding-bottom ou border ):
a. Height:auto est spécifié
b. la hauteur minimale est inférieure à la hauteur réelle de l'élément (hauteur)
c. height)
Si le min d'un élément -L'attribut height est défini sur 0, alors les marges qu'il possède sont adjacentes, et il n'a ni border-top ni border-bottom, ni padding-top et padding-bottom Its. L'attribut height peut être 0 ou auto. Il ne peut pas contenir de modèle de boîte en ligne (boîte de ligne) et les marges de tous ses éléments enfants flottants (le cas échéant) sont adjacentes.
Lorsque la marge appartenant à un élément est réduite et qu'il utilise l'opération clear, sa marge supérieure sera réduite avec la marge adjacente de l'élément frère immédiatement suivant, mais le résultat est que sa marge ne sera pas cohérente avec sa margin. Réduire la marge inférieure des éléments parents au niveau du bloc.
L'opération de pliage est basée sur les valeurs de remplissage, de marge et de bordure (c'est-à-dire une fois que le navigateur a analysé toutes ces valeurs). Le calcul de la marge pliée écrasera les différentes valeurs de marge qui ont été utilisées.

<div id="d0" style="background-color:#333333;height:500px;"> 
<br style="line-height:0;"/> 
//不加入br这一行,在FIREFOX中id1的margin-top:20px将会在d0上作用,使d0上方与body间有20px的间距,d1与d0的上方没有间距,而IE内正常显示 
<div id="d1" style="background-color:#000000;margin-top:20px;height:100px;"></div> 
<div id="d2" style="background-color:#000000;margin-top:20px;height:100px;"></div> 
</div>
Copier après la connexion

Pour plus d'articles liés aux causes et aux solutions de l'échec de la marge supérieure de Firefox, veuillez faire attention au site Web PHP 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)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Il est sorti! Félicitations à l'équipe Vue pour l'avoir fait, je sais que ce fut un effort massif et une longue période à venir. Tous les nouveaux documents aussi.

Construire une application Ethereum à l'aide de Redwood.js et de la faune Construire une application Ethereum à l'aide de Redwood.js et de la faune Mar 28, 2025 am 09:18 AM

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Pouvez-vous obtenir des valeurs de propriété CSS valides du navigateur? Apr 02, 2025 pm 06:17 PM

J'ai eu quelqu'un qui écrivait avec cette question très légitime. Lea vient de bloguer sur la façon dont vous pouvez obtenir les propriétés CSS valides elles-mêmes du navigateur. C'est comme ça.

Comparaison des navigateurs pour une conception réactive Comparaison des navigateurs pour une conception réactive Apr 02, 2025 pm 06:25 PM

Il existe un certain nombre de ces applications de bureau où l'objectif montre votre site à différentes dimensions en même temps. Vous pouvez donc, par exemple, écrire

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.

Un peu sur CI / CD Un peu sur CI / CD Apr 02, 2025 pm 06:21 PM

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

Utilisation de Markdown et de la localisation dans l'éditeur de blocs WordPress Utilisation de Markdown et de la localisation dans l'éditeur de blocs WordPress Apr 02, 2025 am 04:27 AM

Si nous devons afficher la documentation à l'utilisateur directement dans l'éditeur WordPress, quelle est la meilleure façon de le faire?

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

See all articles