我正在尝试创建一个响应式div列表
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<div class="container">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
</div>
正如你所看到的,从上面我有四个div,当我只有3个div时,他们会在左边
当只有3个div
并且它们将居中时,它是否可以动态地进行?
如果是,我该怎么办呢。提前谢谢,抱歉我的英文不好
答案 0 :(得分:4)
要进行测试,请尝试删除列。
For All Resolutions:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<div class="container">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
</div>
<style>
.col-xs-6:first-child:nth-last-child(3),
.col-xs-6:first-child:nth-last-child(3) ~ .col-xs-6 {
width: 33.3%;
}
</style>
&#13;
仅限移动分辨率:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<div class="container">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
</div>
<style>
@media (max-width:767px) {
.col-xs-6:first-child:nth-last-child(3),
.col-xs-6:first-child:nth-last-child(3) ~ .col-xs-6 {
width: 33.3%;
}
}
</style>
&#13;
说明:
`.col-xs-6:first-child:nth-last-child(3)`
对于第一列的列,以及最后一列的第三列
, .col-xs-6:first-child:nth-last-child(3) ~ .col-xs-6
并且对于所述列的所有相邻兄弟(后面的每一列)
width: 33.3%;
占据宽度的1/3。
如果有4列或更多列,或者少于3列,则第一个孩子不能是最后一个,所以我们只改变它的宽度3.不需要flexbox(虽然我喜欢flexbox),不需要填充,也没有bs。
答案 1 :(得分:2)
尝试将{flex}用于.container
。使用justify-content:center时,它会将其置于“行”中。
.container {
display: flex;
justify-content: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<div class="container">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
</div>
答案 2 :(得分:1)
如果你可以升级到Boostrap 4,你可以这样做:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/>
<style type="text/css">.col {background: #555; border: 2px solid #fff; color: #fff;}</style>
<div class="container">
<div class="row">
<div class="col">column 1</div>
<div class="col">column 2</div>
<div class="col">column 3</div>
<div class="col">column 4</div>
</div>
</div>
因此,您添加了多少.col
将始终使它们居中。
Bootstrap 4使用Flexbox。
答案 3 :(得分:0)
如果我正确理解了这个问题,将col-sm-6
和col-xs-6
更改为-4
可以为您提供所需的行为。如果没有,请随时评论这个答案,并解释你希望如何看待它。
<div class="container">
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-4">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-4">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-4">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-4 col-xs-4">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
</div>
答案 4 :(得分:0)
您可以flex-container
使用flex-wrap
这样的
.my-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<div class="container my-container">
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
<div class="col-lg-3 col-md-3 col-sm-6 col-xs-6">
<a href="#">
<img src="https://dummyimage.com/250x250/000/fff">
</a>
</div>
</div>
答案 5 :(得分:0)
我遇到了同样的问题。我在div中添加容器流体类的简单的事情
<div class="container-fluid">
<div class="col-lg-6">
</div>
<div class="col-lg-3">
</div>
<div class="col-lg-3">
</div>
</div>
试试这可能会解决您的问题。