Почему между <img> и другими элементами есть досадное небольшое пространство?

Если<div>&nbsp;или любой другой элемент следует за<img>, между ними появляется пробел ~ 3px - даже еслиmargins&nbsp;ноль

<img src="example-fractal-art.png">
<div>What is with that gap?<div>

Вот как это выглядитс некоторыми CSS.

Теперь это довольно легко добавитьdisplay: block&nbsp;в CSS ирешать проблему, Но почему это там? Здесь нет вычисляемых полей, отступов, границ или чего-либо подобного.

Что делают браузеры?&nbsp;Кто-то даже назвал это«Магия».

Постскриптум Кроме того, в некоторых случаях это можно решить путемудаление пробелов&nbsp;в коде HTML. (Но затемне работает&nbsp;в таком случае почему?)