我正在使用bootstrap框架并尝试将图像水平居中而没有成功..
我尝试了各种技术,例如将12个网格系统分成3个相等的块,例如
<div class="container">
<div class="row">
<div class="span4"></div>
<div class="span4"><img src="logo.png" /></div>
<div class="span4"></div>
</div>
</div>
使图像相对于页面居中的最简单方法是什么?
答案 0 :(得分:257)
Twitter Bootstrap v3.0.3有一个类:center-block
中心内容块
设置要显示的元素:通过边距阻止和居中。可作为mixin和class。
只需要在img标签中添加一个类“center-block”,看起来像这样
<div class="container">
<div class="row">
<div class="span4"></div>
<div class="span4"><img class="center-block" src="logo.png" /></div>
<div class="span4"></div>
</div>
</div>
在Bootstrap中已经有css样式调用.center-block
.center-block {
display: block;
margin-left: auto;
margin-right: auto;
}
您可以看到here
中的示例答案 1 :(得分:134)
正确的方法是
<div class="row text-center">
<img ...>
</div>
答案 2 :(得分:81)
将“中心块”添加到图像作为类 - 不需要额外的CSS
<img src="images/default.jpg" class="center-block img-responsive"/>
答案 3 :(得分:61)
更新2018年
Bootstrap 4 中不再存在center-block
类。要在Bootstrap 4中居中图像,请使用mx-auto d-block
...
<img src="..." class="mx-auto d-block"/>
答案 4 :(得分:52)
Twitter引导程序有一个以:.pagination为中心的类
这对我有用:
<div class="row-fluid">
<div class="span12 pagination-centered"><img src="header.png" alt="header" /></div>
</div>
该课程的CSS为:
.pagination-centered {
text-align: center;
}
答案 5 :(得分:36)
您可以使用以下内容。它支持上面的Bootstrap 3.x。
<img src="..." alt="..." class="img-responsive center-block" />
答案 6 :(得分:28)
假设图片旁边没有其他内容,最好的方法是在text-align: center
父级中使用img
:
.row .span4 {
text-align: center;
}
修改
如其他答案中所述,您可以将引导CSS类.text-center
添加到父元素。这完全相同,可用于 v2.3.3 和 v3
答案 7 :(得分:17)
适合我。尝试使用center-block
<div class="container row text-center">
<div class="row">
<div class="span4"></div>
<div class="span4"><img class="center-block" src="logo.png" /></div>
<div class="span4"></div>
</div>
</div>
答案 8 :(得分:6)
我需要同样的东西,在这里我找到了解决方案:
https://stackoverflow.com/a/15084576/1140407
<div class="container">
<div class="row">
<div class="span9 centred">
This div will be centred.
</div>
</div>
</div>
和CSS:
[class*="span"].centred {
margin-left: auto;
margin-right: auto;
float: none;
}
答案 9 :(得分:1)
您可以将margin属性与bootstrap img类一起使用。
.name-of-class .img-responsive { margin: 0 auto; }
答案 10 :(得分:1)
如果浏览器版本不是问题,我们似乎可以使用新的HTML5功能:
HTML文件中的:
<div class="centerBloc">
I will be in the center
</div>
在CSS文件中,我们写道:
body .loadingDiv {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
所以div可以完全成为浏览器的中心。
答案 11 :(得分:0)
你应该使用
<div class="row fluid-img">
<img class="col-lg-12 col-xs-12" src="src.png">
</div>
.fluid-img {
margin: 60px auto;
}
@media( min-width: 768px ){
.fluid-img {
max-width: 768px;
}
}
@media screen and (min-width: 768px) {
.fluid-img {
padding-left: 0;
padding-right: 0;
}
}
答案 12 :(得分:0)
我正在将justify-content-center
类用于容器中的一行。适用于Bootstrap 4。
<div class="container-fluid">
<div class="row justify-content-center">
<img src="logo.png" />
</div>
</div>
答案 13 :(得分:0)
我创建了这个并添加到Site.css。
.img-responsive-center {
display: block;
height: auto;
max-width: 100%;
margin-left:auto;
margin-right:auto;
}
答案 14 :(得分:-2)
您可以更改上一个解决方案的CSS,如下所示:
.container, .row { text-align: center; }
这也应该集中在父div
中的所有元素。