如何在图像上放置图标?

coo*_*490 2 html css font-awesome twitter-bootstrap-3

如何在图像上放置FontAwesome下载图标?我希望它位于图像的左下角。当用户单击下载图标时,出现提示,询问他们是否要下载图像。

像这样:

在此处输入图片说明

相关代码

<!-- font awesome CSS -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">

<!-- download icon -->
<a href="https://loremflickr.com/320/240/dog" download="new-filename"><i class="fas fa-download"></i></a>

<!-- image of dog -->
<img src="https://loremflickr.com/320/240/dog" alt="dog">
Run Code Online (Sandbox Code Playgroud)

此方法是否也适用于bootstrap 3 font-awesome?我可能想在左下角添加一个这样的按钮:

在此处输入图片说明

引导真棒字体:https : //fontawesome.com/v4.7.0/examples/

Cha*_*ing 7

要覆盖两个元素,一种方法是创建一个 parent position: relative,然后创建 overlay position: absolute

在这种情况下,此示例应该可以工作,其中下载图标可以是任何元素,例如引导按钮。

.img-download {
  position: relative;
}

.img-download > a {
  position: absolute;
  background: white;
  bottom: 0;
  left: 0;
}
Run Code Online (Sandbox Code Playgroud)
<!-- font awesome CSS -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">

<div class="img-download">
  <!-- image of dog -->
  <img src="https://loremflickr.com/320/240/dog" width="320" height="240" alt="dog">
  
  <!-- download icon -->
  <a href="https://loremflickr.com/320/240/dog" download="dog.jpg"><i class="fas fa-download"></i> Download</a>
</div>
Run Code Online (Sandbox Code Playgroud)


Ada*_*dam 5

您需要在图像周围放置一个相对的容器,然后将图标设置为absolute

.container { position: relative; }
.container img { display: block; }
.container .fa-download { position: absolute; bottom:0; left:0; }
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

之所以需要img,display: block是因为,默认情况下img是,display: inline并且img的底部和容器底部之间会有一个空格-因此您的下载图标将略低于img。将其设置为display: block停止此操作。