Это потому, что вы применяете тень к элементу, который окружает изображение (и ссылку), и это размер этого элемента.
Причина, в свою очередь, почему этот элемент имеет такой размер, заключается в том, что изображение является встроенным элементом, который помещается в базовую строку текстового блока. Пространство под изображением - это желоб под базовой линией для висящих символов, таких как g
и j
.
Самый стабильный способ справиться с этим - превратить изображения в блочные элементы:
.homepageimage img { display: block; }
(окружающий элемент привязки уже является блочным элементом, так как вы применили к нему float: left;
, в противном случае вам также потребуется преобразовать его в элемент блока.)