It appears that I'm missing something fundamental about CSS. Take a look at this example on CodePen:
/* Reset */
*,
*::after,
*::before {
margin: 0;
padding: 0;
box-sizing: border-box;
margin-block-start: 0;
margin-block-end: 0;
}
.parent {
width: 5rem;
height: 3rem;
border: 3px solid green;
}
.child {
width: 5rem;
height: 3rem;
border: 3px solid blue;
}
<div class="parent">
<div class="child"></div>
</div>
This is the outcome:
https://i.sstatic.net/Zd1pz.png
Given that there are no paddings or margins, why is there a thin white space between the two borders?