制作图像的标记中心

时间:2016-05-14 12:22:55

标签: html css twitter-bootstrap

我正在使用bootstrap 3,我想在图像顶部添加一个带图标的链接并垂直居中。

<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">
<div class="col-post">
  <div class="post-img"> <a href="#" class="my-icon"></a> <a href="mylink">
    <div class="overlay"> <img src="myimage.jpg" alt="#" class="img-responsive"> </div>
    </a> 
    </div>
  <!--post-img-->
  <div class="post-icons"></div>
</div>
</div>

我希望带有my-icon类的链接位于图像的中心。我的图标位于绝对位置,后img位于相对位置。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

我刚刚使用了库中现有的.center-block辅助类以及.text-center类来集中每个div的内容。 (see documentation for bootstrap 3.x

我不确定这正是您想要的,但它可以帮助您更接近您的结果。

如果需要调整,请告诉我。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<div class="row">
  <div class="col-xs-12">
    <h2>My approach (simplistic)</h2>
    <a href="#" class="my-icon">
      <img src="http://lorempixel.com/300/300" class="center-block img-responsive img-circle" alt="Responsive image" />
    </a>
  </div>
</div>
<hr/>
<div class="row">
  <div class="col-xs-12">
    <h2>Your approach (w/ added elements)</h2>
    <div class="col-post">
      <div class="post-img center-block text-center">
        <a href="#" class="my-icon">my-icon</a> 
        <a href="mylink">
          <div class="overlay">
            <img src="http://lorempixel.com/300/300?asdf" alt="#" class="img-responsive center-block">
          </div>
        </a>
      </div>
      <!--post-img-->
      <div class="post-icons center-block text-center">post icons</div>
    </div>
  </div>
</div>

答案 1 :(得分:0)

Try Flexbox,这是我成功的几个方法之一,始终将项目垂直对齐。

对于父容器:显示

  

显示   这定义了一个flex容器;内联或阻止取决于给定的值。 &gt;它为所有直接子项启用了flex上下文。

CSS.container { display: flex; /* or inline-flex */ }

对于孩子: align-items

  

对准项   这定义了如何布置Flex项目的默认行为   沿当前线的横轴。把它想象成   十字轴的正确内容版本(垂直于   主轴)。

CSS.container { align-items: flex-start | flex-end | center | baseline | stretch;}

答案 2 :(得分:-1)

这是一些帮助我垂直居中图像的代码。它通常比水平居中更棘手。

#ID {
    Margin:0 auto;
    Position:absolute;
    Left:0;
    Right:0;
    Top:50%;
    Transform: translate(0, -50%);
    Display:block;
}