Bootstrap 有一个默认方法,或者我如何编辑以在 767px(移动)以下执行此操作,每个跨度在一行中不会变为 100%?我只希望他们达到 50% ......例如有 2 个并排的跨度,而不是一个在另一个下方。
提前致谢
Bootstrap 有一个默认方法,或者我如何编辑以在 767px(移动)以下执行此操作,每个跨度在一行中不会变为 100%?我只希望他们达到 50% ......例如有 2 个并排的跨度,而不是一个在另一个下方。
提前致谢
我知道这个问题很老,但我在寻找解决同样问题的方法时遇到了它,然后我自己想通了。我想我应该发布我的解决方案,以防其他人找到这个页面。
我的问题是我有一个响应式引导页面,其中包含四列(四个 span3 列表项)和另一个包含三列(三个 span4 列表项)的页面。我希望它们在 767 像素以下时变成两列。对于四列页面,我的结构是这样的,行流体在 span12 内重复了几次:
<div class="span12">
<div class="row-fluid">
<ul class="thumbnails">
<li class="span3"></li>
<li class="span3"></li>
<li class="span3"></li>
<li class="span3"></li>
</ul>
</div>
</div>
对于三列页面,我的结构是这样的,在 span12 中再次使用 row-fluid 重复多次:
<div class="span12">
<div class="row-fluid">
<ul class="thumbnails">
<li class="span4"></li>
<li class="span4"></li>
<li class="span4"></li>
</ul>
</div>
</div>
该结构取自关于缩略图的 Bootstrap 部分。这是我添加的 CSS 以使它们都变成低于 767px 的两列:
@media screen and (max-width: 767px) {
/* remove clear from each ul to stop them from breaking into rows */
ul.thumbnails::after {
clear: none;
}
/* make the width of each span equal to 47% instead of 100%.
You could make it closer to 50% if you have no borders or padding etc. */
ul.thumbnails li[class*="span"]{
width: 47%;
float: left;
}
// select the second span in each row (ul) on the 3 column page
[class*="span"] .span4:nth-child(2),
// select the first span in the even rows on the 3 column page
[class*="span"] .row-fluid:nth-child(even) .span4:nth-child(1),
// select the even spans in each row on the 4 column page
[class*="span"] .span3:nth-child(even)
{
float: right; //float them all to the right
}
}
如果您不使用相同的结构,则必须调整这些选择器。它们也不是最优雅的选择器,所以如果你能写得更好,请这样做。一旦我让他们工作,我就再也懒得和他们一起玩了。我希望这可以帮助别人!
[编辑] 我刚刚注意到我实际上在所有代码中都使用了流体行,而不是行流体......所以你可能需要将它更改为那个。不过,fluid-row 在我的样式表中没有任何规则。
链接到在 CSS 中使用正确的选择器:http: //jsfiddle.net/rUCgS/4/
我只是修改了.row-fluid [class*="span"]
inside的行为,@media (max-width: 767px) { ... }
并在我点击max-width: 480px
. 我还在.span-control
一行的前 2 个跨度中添加了一个类,以确保它们都删除了左边距。
应该看起来像这样
这些!important
标签对 jsfiddle 很有用,但您的样式表中不需要它们。
尝试使用 row-fluid 代替带有两个 span6 的 row。
HTML:
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/css/bootstrap-combined.min.css" rel='stylesheet' type='text/css' />
<div id='wrap' class='container'>
<div id='row1' class='row-fluid'>
<div id='box1' class='span6'>
box1
</div>
<div id='box2' class='span6'>
box2
</div>
</div>
</div>
CSS:
#wrap{
background-color:black;
height:50px;
}
#box1{
background-color:green;
}
#box2{
background-color:red;
}
在这里检查jsFiddle