Twitter bootstrap 从左到右引导浮动div
对于我的项目,我使用引导 我试图展示从左到右浮动的div,所以我Twitter bootstrap 从左到右引导浮动div,twitter-bootstrap,Twitter Bootstrap,对于我的项目,我使用引导 我试图展示从左到右浮动的div,所以我 <div class="row"> <div class="col-md-4">11111111<br></div> <div class="col-md-4">2222222222<br>222222222222<br></div> <div class="col-md-4">333333333333<b
<div class="row">
<div class="col-md-4">11111111<br></div>
<div class="col-md-4">2222222222<br>222222222222<br></div>
<div class="col-md-4">333333333333<br></div>
<div class="col-md-4">444444444444<br></div>
</div>
11111111
22222
22222
333
4444
但是正如你所看到的,带4s的div不是加在带1s的div下面,而是加在带3s的div下面。如何修复它,以便将其添加到带有1的div下
编辑
div的数量是动态的,所以我不能只将其添加到div 11111,我想要的是pinterest.com主页上的一些内容,其中所有div都是从左到右添加的,每个div下都没有大的空格
为了更好地理解我的问题,我又举了一个例子
这就是我想做的,用图片填充页面,并在页面下方进行描述。但是,我希望页面能够被填充,而不会像您在示例中看到的那样出现巨大的空白
例如,images div相互下面,下面没有间隙(如果只创建一个新行,就会得到间隙)如果使用bootstrap 3,则必须有12列。试试这个:
<div class="row">
<div class="col-md-3">11111111<br></div>
<div class="col-md-3">2222222222<br>222222222222<br></div>
<div class="col-md-3">333333333333<br></div>
<div class="col-md-3">444444444444<br></div>
</div>
11111111
22222
22222
333
4444
Twitter Bootstrap将12列网格系统用于移动设备、平板电脑和桌面。所以你不能四次使用col-md-4,总共16次。所以你们需要相应地划分屏幕。这可能有助于您从了解div结构。如果您查看主页,您将发现每个部分都有一个top和left属性。我猜他们会计算并设置顶部和左侧属性 这只是获得所需外观的一种方法 您可以在该行中包含x列,并以编程方式在每列中添加div,而不是在其中包含一行并添加所有div EX:假设我设置了4列x1、x2、x3和x4,大约有9个div。我将运行一个循环,以使div按以下顺序追加:d1->x1,d2->x2,d3->x3,d4->x4,d5->x1。。。。。等等 检查下面的代码。我使用了一个高度数组来展示不同高度的作品
var arr = [100, 200, 300, 400, 200, 100, 300, 500];
var colors = ["red","green","blue", "yellow","golden", "orange", "maroon"]
var divs = 13;
for (var i = 0; i < divs; i++) {
var ht = arr[Math.floor(Math.random() * arr.length)];
var clr = colors[Math.floor(Math.random() * colors.length)];
var rem = i%4;
$("#wrapper .box"+rem).append("<div >random text</div>");
$(".box"+rem+" div:last").css({
"height": ht + "px", "background":clr+""
});
}
var-arr=[100200300400200100300500];
变量颜色=[“红色”、“绿色”、“蓝色”、“黄色”、“金色”、“橙色”、“栗色”]
var-divs=13;
对于(变量i=0;i
注意:用于追加的js代码将由生成div的代码负责。我刚刚用过这个演示。您看到的列浮动问题与响应列在不同高度时重置的方式有关 如上所示,您可能必须手动清除这些列,以便重新计算它们的位置。添加
将允许重新计算它后面的列。如果您希望有3列,并且每4行开始有一个新行,那么可以在每3个元素之后包含这个div
例如:
<div class="row">
<div class="col-md-4">11111111<br></div>
<div class="col-md-4">2222222222<br>222222222222<br></div>
<div class="col-md-4">333333333333<br></div>
<div class="clearfix"></div>
<div class="col-md-4">444444444444<br></div>
<div class="col-md-4">5555555555555<br></div>
</div>
11111111
22222
22222
333
4444
55555
第4列现在正确地显示在第1列下面,但不在紧接着的下面;相反,第5列正确排列在第2列下方,同时仍允许整行处于相同的起始高度
在此示例中,我对示例进行了一些扩展:
并用你的另一个例子来说明:
在没有手动计算每个div的高度的情况下,似乎没有办法消除每行中的间隙,如另一个答案所示。您应该阅读Twitter引导:
通过指定十二个可用网格列的数量来创建网格列
要跨越的列。如果一行中放置的列超过12列,则每组额外列将作为一个单元换行
因此,在每12列之后,您应该以一个新的
开始一行
看看这个
因此,如果您想在div下添加4s和1s,您的代码段应该是:
<div class="row">
<div class="col-md-4">11111111<br></div>
<div class="col-md-4">2222222222<br>222222222222<br></div>
<div class="col-md-4">333333333333<br></div>
</div>
<div class="row>
<div class="col-md-4">444444444444<br></div>
</div>
11111111
22222
22222
333
要实现boostrap所需的结构:
<div class="row">
<div class="col-md-4">11111111<br></div>
<div class="col-md-4">2222222222<br>222222222222<br></div>
<div class="col-md-4">333333333333<br></div>
</div>
<div class="row">
<div class="col-md-4">444444444444<br></div>
</div>
11111111
22222
22222
333
4444
您可能会这样(PHPish(no-so)伪代码):
$values=get_values();
$html='';
foreach($idx=>$v){
$html.=“$v”;
$html.=($idx+1)%3?“”:“”;
}
$html=。='';
echo$html;
您可以使用JavaScript迭代所有单元格并获得每个高度。然后计算出te的最优分布。之后,您可以将单元格移动到3个大列中,或者将单元格的位置设置为绝对,并使用JavaScript设置左上角的坐标。
缺点是,在运行此JavaScript之前,需要将所有内容加载到浏览器中
另一个选择是在所有单元格上设置一个固定的高度(我在类似的情况下这样做)。特别是当标题只有一两行时。您可以使用CSS省略号以某种可以接受的方式截断长名称。对于有相同问题的任何人,我建议使用
有了四层可用的网格,您肯定会遇到问题
其中,在某些断点处,您的列不完全正确地清除
一个比另一个高。要解决这个问题,请使用
.clearfix和我们的响应实用程序类
使用砌体插件,从这里获取-我希望带有44444444 s的div位于带有111111111 s的div之下。我知道我可以换一排新的,但那排又会变成垃圾
<div class="row">
<div class="col-md-4">11111111<br></div>
<div class="col-md-4">2222222222<br>222222222222<br></div>
<div class="col-md-4">333333333333<br></div>
</div>
<div class="row">
<div class="col-md-4">444444444444<br></div>
</div>
$values = get_values();
$html = '<div class="row">';
foreach($values as $idx => $v){
$html .= "<div class='col-md-4'>$v</div>";
$html .= ($idx + 1) % 3 ? '' : '<div class="row"></div>';
}
$html = .= '</div>';
echo $html;