如何让span出现在心形的上层,并上下左右居中显示呢?

.fa-heart是一个font-awesome字体的按钮,它的外观是一个心形,
.up是它后面的一个span,内容都是1-5的数字。正常情况下.up是紧挨着心形后面出现的。
但是我现在希望.up出现在心形(也就是.fa-heart)的上面,也就是.up要above自己临近的.fa-heart上面。也就是如图所示的样子。

img

css应该怎么写呢?

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
.fa-heart{
cursor: pointer;
color: #777;
font-size: 28px;
margin-left: 2px;
}
.up{

}
style>
<td>标题标题标题<i class="fa fa-heart">i><span class="up">1span>td>
<td>标题标题标题标题标题标题<i class="fa fa-heart">i><span class="up">2span>td>
<td>标题标题标题<i class="fa fa-heart">i><span class="up">3span>td>
<td>标题标题标题标题标题标题<i class="fa fa-heart">i><span class="up">4span>td>

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>

<style>
  .fa-heart {
    cursor: pointer;
    color: #777;
    font-size: 28px;
    margin-left: 2px;
    z-index: 10;
    position: relative;
  }

  .up {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    color: #f00;
    font-size: 16px;
  }
</style>

<body>

  <td>标题标题标题<i class="fa fa-heart"><span class="up">1</span></i></td><br>
  <td>标题标题标题标题标题标题<i class="fa fa-heart"><span class="up">2</span></i></td><br>
  <td>标题标题标题<i class="fa fa-heart"><span class="up">3</span></i></td><br>
  <td>标题标题标题标题标题标题<i class="fa fa-heart"><span class="up">4</span></i></td><br>
</body>

</html>

回答不易,求求您采纳点赞哦

你可以使用CSS实现你的需求,在.up的CSS属性设置中加入以下代码:position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);即可实现上下左右居中的效果,同时,将.up的z-index设置大于.fa - heart的z-index,即可实现覆盖效果。


.fa-heart{
            cursor: pointer;
            color: #777;
            font-size: 28px;
            margin-left: 2px;
            vertical-align: middle;
            }
            .up{
             margin-left: -19px;
             display: inline-block;
             vertical-align: middle;
            }