In CSS margin-collapsing refers to the fact that the margins that are next to each other are colliding… but only vertically.
Yeah, it's one of those brainfuck moments in CSS.
Let's first take two divs that are one next to each other on the horizontal axis. If we have a margin: 25px
for both divs, and the width: 100px
then, as expected, the required width will be 300px.
However, if we try to do the same with the divs are arranged vertically then the total needed space will be 275px, instead of the expected 300px.
And this is because the vertical margins of the elements are collapsing.
But, what if the margins are of different sizes? What if one div has margin: 25px and the other has a margin: 40px? Well, in this case just the largest of the two margins will be applied (40px in our case).
And what about negative margins? The rule will be applied when both margins are negative (vertically), but not when one margin is negative and the other is positive.
If you want to learn more take you can a look at:
📖 50 Javascript, React and NextJs Projects
Learn by doing with this FREE ebook! Not sure what to build? Dive in with 50 projects with project briefs and wireframes! Choose from 8 project categories and get started right away.
📖 50 Javascript, React and NextJs Projects
Learn by doing with this FREE ebook! Not sure what to build? Dive in with 50 projects with project briefs and wireframes! Choose from 8 project categories and get started right away.