中心图标没有绝对或相对定位?

时间:2016-09-29 12:27:09

标签: html css flexbox positioning font-awesome

我正试图将一个Font Awesome图标集中在img上。但是我的标记不是绝对的或相对的,但布局是用flexbox完成的。

我已经使用CSS属性选择器插入了图标:

a[href*="youtu"]::before {
    font-family: 'FontAwesome';
    content: "\f144";
    font-size: 2.5em;
}

这是标记:

<div id="lightgallery">
  <a href="http://local.wordpress.dev/wp-content/uploads/2016/09/image10.jpg"> 
    <img src="http://local.wordpress.dev/wp-content/uploads/2016/09/image10.jpg" alt="" /> 
  </a>
  <a href="http://local.wordpress.dev/wp-content/uploads/2016/09/image9.jpg"> 
    <img src="http://local.wordpress.dev/wp-content/uploads/2016/09/image9.jpg" alt="" /> 
  </a>
  <a href="http://local.wordpress.dev/wp-content/uploads/2016/09/image8.jpg"> 
    <img src="http://local.wordpress.dev/wp-content/uploads/2016/09/image8.jpg" alt="" /> 
  </a>
  <a href="https://youtu.be/5Z3Exfzz8Kk" data-poster="http://local.wordpress.dev/wp-content/uploads/2016/09/video-thumb.jpg"> 
    <img src="http://local.wordpress.dev/wp-content/uploads/2016/09/video-thumb.jpg" alt="" /> 
  </a>

和css:

@media screen and (min-width: 48em) {
  #lightgallery a {
    width: calc(100% / 3);
    height: 240px;
  }

  #lightgallery img {
    width: 100%;
    background-image: url();
    background-repeat: no-repeat;
    height: 240px;
    object-fit: cover;
  }

  #lightgallery {
    display: flex;
    flex-wrap: wrap;
    margin: 6.25em 0;
  }
}

但我无法将图标置于YouTube图像的中心位置。我可以通过将属性选择器设置为display: flex;justify-content: center;来使其垂直居中。这就是我能来的。

在不改变标记的情况下实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:1)

我认为没有绝对定位你就做不到。以下代码可以帮助您。

true

<强> Demo