Fondamentalement, vous avez ajouté plus de désordre dans votre code, ce qui crée plus de confusion j'ai tout d'abord essayer de supprimer l'encombrement qui entrave la compréhension de la véritable question.
Tout d'abord, nous devons établir que ce qui est la vraie question?
C'est pourquoi "inline-block
" élément est poussé vers le bas.
Maintenant nous commençons à le comprendre et enlever le désordre de la première.
1 -
Pourquoi ne pas donner à tous les trois divs même la largeur de la bordure?
Nous allons lui donner.
2 - Ne flottante élément a aucun lien avec inline-block élément étant poussé vers le bas?
Non, il n'a rien à faire avec elle.
Alors, nous avons enlevé le div au total. Et vous assistons même le comportement de inline-block élément étant poussé vers le bas.
Ici vient le tour de certains de la littérature de saisir l'idée de la ligne de boîtes et comment ils sont doublés dans la même ligne esp lire le dernier paragraphe avec soin, car c'est là que réside la réponse à votre question.
La base d'un 'inline-block' est la ligne de base de la dernière ligne de la boîte dans le flux normal, sauf qu'il a pas de flow line boîtes ou si son "dépassement" la propriété a une valeur calculée d'autres que d'être "visible", et dans ce cas, la référence est la marge du bas bord.
Si vous n'êtes pas sûr au sujet de base , alors voici une brève explication en termes simples.
Tous les caractères à l'exception de "gjpqy" sont écrites sur la ligne de base que vous pouvez penser de base que si vous dessinez une simple ligne horizontale de même que le soulignement juste en dessous de ces "caractères aléatoires", puis ce sera le départ, mais maintenant, si vous écrivez un de " gjpqy caractère(s) sur la même ligne puis la partie inférieure de ces personnages tombent au-dessous de la ligne.
Donc, nous pouvons dire que tous les caractères à l'exception de "gjpqy' sont écrits entièrement au-dessus de la ligne de base alors qu'une partie de ces caractères sont écrits au-dessous de la ligne de base.
3 - Pourquoi ne pas vérifier où est la base de notre ligne?
J'ai ajouté quelques personnages qui montrent la ligne de base de notre ligne.
4 - Pourquoi ne pas ajouter des caractères dans notre divs trop à trouver leurs lignes de base dans les div?
Ici, certains caractères ajoutés dans les divs pour clarifier la ligne de base.
Maintenant, quand vous comprenez au sujet de base, lire la suite de la version simplifiée sur base de inline-block.
i) Si inline-block en question a son débordement de la propriété a la valeur visible (qui est par défaut donc pas besoin de le définir).
Ensuite, son niveau de référence serait la ligne de base du bloc contenant de la ligne.
ii) Si inline-block en question a son débordement de jeu de propriétés AUTRES QUE visible.
Alors sa marge inférieure serait sur le point de référence de la ligne de la boîte contenant.
- Premier point dans le détail
Maintenant, regardez ce nouveau afin de clarifier votre concept que ce qui se passe avec le vert de la div.
Si encore toute confusion ici est ajouté plus de caractères à proximité de green div pour établir la ligne de base du bloc contenant et vert div de base est alignée.
Eh bien, je suis maintenant en affirmant qu'ils ont la même base? DROIT?
5 - Alors pourquoi ne pas se chevauchent et voir s'ils sont aptes droit l'un sur l'autre?
Donc, je vous apporte troisième div -left: 35px; pour vérifier si ils ont la même base maintenant?
Maintenant, nous avons eu notre premier point prouvé.
- Deuxième point dans le détail
Eh bien, après explication du premier point deuxième point est facile à digérer et vous voyez que le premier div qui a pour propriété de dépassement différent de visible (caché) a sa marge inférieure sur la ligne de base de la ligne.
Maintenant, vous pouvez faire quelques expériences afin de mieux l'illustrer.
- Définissez d'abord div en overflow:visible (ou l'enlever complètement).
- Set deuxième div en overflow: autres que visible.
- Ensemble les deux divs overflow: autres que visible.
Maintenant, ramenez votre désordre et de voir si tout est à la recherche d'amende.
- Apportez le dos de votre div flottant (bien sûr, il est nécessaire de
augmenter la largeur de corps)
Vous voyez, il n'a pas d'effet.
-
Ramener même bizarre marges.
- Ensemble vert div en overflow: visible que vous définissez dans votre question (que l'incohérence est due à l'augmentation de la largeur de la bordure de 1px de 5px afin de s' ajuster négatif à gauche vous verrez il n'y a pas de problème)
- Maintenant supprimer d'autres personnages que j'ai ajouté à de l'aide dans
la compréhension. (et bien sûr supprimer négatif à gauche)
- Enfin de réduire la largeur du corps , car nous n'avons plus besoin le plus large.
Et maintenant nous sommes de retour là où nous avons commencé à partir.
J'espère avoir répondu à votre question.