我正在使用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位于相对位置。
非常感谢任何帮助。
答案 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;
}