Gregory Bolkenstijn Gregory Bolkenstijn - 4 months ago 21
CSS Question

CSS display: inline-block does not accept margin-top?

I have an element with display: inline-block, but it doesn't seem to accept margin-top. Is this because the element is still treated as an inline element?

If yes, does anyone have a workaround?




EDIT #1:

My CSS is quite simple:

.label {
background: #ffffff;
display: inline-block;
margin-top: -2px;
padding: 7px 7px 5px;
}


I ended up wrapping the content in another div and giving that a margin-top. But that causes a lot of extra markup and makes my code less clear.

EDIT #2:

margin-top
&
margin-bottom
on
inline-block
elements only seems to work with positive values.

Answer

I used display: table. It has the content-fitting properties of inline-block but also supports negative margins in a way that will shift the content following it up along with it. Probably not how you should be using it, but it works.