When using inline-block elements, the whitespace around the element really throws off using it for grid elements. Two elements at 50% can't sit next to each other because of the whitespace.
The best solution to this is doing something like:
.column {
display: inline-block;
vertical-align: top;
}
.grid {
font-size: 0;
> * {
font-size: initial;
}
}
<div class="grid">
<div class="column w50"></div>
<div class="column w50"></div>
</div>
However that causes things to change type size (when sizing type with ems) and those star selectors are a little frowned upon.
Removing the whitespace in the HTML is not really an option, it takes away from the maintainable aspect as other devs need to know to make sure whitespace is removed and it's not so readable. Likewise for the comment trick.
In an ideal world I'd just use flex but IE9 is still a thing.
I could get over the star selector if I can do something that doesn't change the font size of child elements.
EDIT: I understand there is a similar question about how to handle the white space, however this is specifically about a way around the font-size problem. There are tricks to fixing the whitespace, but the above is likely the best as it's not as hacky as comments/negative-margin.