Unlike the other answer, this has nothing to do with the markup space, and removing spaces will not fix it.
The problem is that the images are embedded by default, and the initial value for the vertical alignment is baseline . This means that the image is processed as if it were any other text component of the page, and the space is reserved under the text content for descenders - tails in letters, for example, lowercase "j", etc.
To fix this, you need to either tell the rendering engine that the image should not be processed as text content - .thumb img { display: block; } .thumb img { display: block; } will do this - or you can say that the rendering engine does not reserve space for descenders, but instead .thumb img { vertical-align: bottom; } content to the very bottom - .thumb img { vertical-align: bottom; } .thumb img { vertical-align: bottom; } will do it.
Edit: It seems to me that older versions of Internet Explorer do not handle spaces correctly, so removing spaces can have an effect, but what I said above is still worth it; removing spaces is not a cross browser for this problem.
Jim
source share