Вам нужен относительный контейнер вокруг вашего изображения, а затем вы устанавливаете иконку в положение: absolute
.
.container { position: relative; }
.container img { display: block; }
.container .fa-download { position: absolute; bottom:0; left:0; }
<link href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" rel="stylesheet"/>
<div class="container">
<img src="https://placekitten.com/300/300">
<a href="dog.png" download="new-filename"><i class="fas fa-download"></i></a>
</div>
Причина, по которой вам нужно, чтобы img была display: block
, заключается в том, что по умолчанию img
равно display: inline
, и ваш img будет иметьпространство между нижней частью контейнера и нижней частью контейнера, поэтому значок загрузки будет отображаться чуть ниже img
.Установка на display: block
останавливает это.