图像顶部的中心离子图标

Ste*_*n C 2 css center ionic-framework ionic

在阅读悬停图像上的“中心字体真棒”图标及其相应答案后,我仍然无法使用离子图标复制此答案。

我正在使用的代码如下:

<div class="video-thumbnail">
  <img src="image here" />
  <i class="icon ion-play"></i>
</div>
Run Code Online (Sandbox Code Playgroud)

我使用的 CSS 是:

.video-thumbnail {
  position: relative;
  margin: 0 auto;
  display: inline-block;
}

.video-thumbnail img {
  position: absolute;
}

.video-thumbnail i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
Run Code Online (Sandbox Code Playgroud)

我已经把它放在彼此之上,但似乎找不到中间点。寻找水平和垂直居中。我不是在寻找任何悬停状态,只是图像上的一个明显图标。

谢谢!

Man*_*mar 5

对于水平和垂直居中,

  1. 您需要删除position: absolute图像,因为它会将其从流中移除。
  2. 使用 计算顶部和左侧的值calc(),您需要从 50% 中减去图标的尺寸值。

angular.module('app', ['ionic']);
Run Code Online (Sandbox Code Playgroud)
.video-thumbnail {
  position: relative;
  display: inline-block;
}
.video-thumbnail img {
  width: 100px;
  height: 100px;
}
.video-thumbnail i {
  position: absolute;
  top: calc(50% - 10px);
  left: calc(50% - 5px);
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
  <link href="http://code.ionicframework.com/1.0.0/css/ionic.min.css" rel="stylesheet">
  <script src="http://code.ionicframework.com/1.0.0/js/ionic.bundle.js"></script>
</head>

<body ng-app="app">
  <ion-pane>
    <ion-header-bar class="bar-stable">
      <h1 class="title">Awesome App</h1>
    </ion-header-bar>
    <ion-content class="padding">
      <div class="video-thumbnail">
        <img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcT2KjQI_sGhxCm5CTyQPuCACLuLEyvup4eDNVowMzdHiiPLShdL3ggiA7QC" />
        <i class="icon ion-play"></i>
      </div>
    </ion-content>

  </ion-pane>
</body>
Run Code Online (Sandbox Code Playgroud)

  • 这是一个绝妙的解决方案!谢谢! (2认同)