我正在使用Bootstrap的网格系统进行布局。我目前有这样的东西:
<div class="container">
<div class="col-xs-8">...</div>
<div class="col-xs-4">...</div>
</div>
我实际上想要实现的是第二列占据剩余的可用水平空间,即第二列的行为就像它在流体容器中一样,但第一列的行为仍然像在固定容器中一样。
我试着使用:after伪选择器引入一个出现在第二列旁边的块(这是可以的,因为“全宽列”纯粹是为了装饰的原因),但是我不能让它占用 * 所有 * 空间。
如果任何人有任何想法,如何实现这一点在一个很好的方式,这将是非常感谢。
**编辑:**使内容更直观:
红色块是我目前拥有的(宽度为4的列),绿色块是我希望在那里的。
8条答案
按热度按时间xv8emn3q1#
我已经找到了一个很好的解决方案, Package 容器类被用来改变它下面的容器的行为,而不是全局地改变它。
此外,右边距:0用于设置容器流体的右距,可以使用margin-left:0以将其设置为流体到另一侧。
B:如果容器没有到达屏幕的边缘,只需从列中删除填充。
第一个
7ivaypg92#
您所需要做的就是将容器的右填充设置为0,并覆盖引导程序放在容器上的最大宽度。
Demo
编辑:您可以尝试的另一个解决方案是:
New Demo
qlzsbp2j3#
演示:http://jsbin.com/titik/1/
HTML语言
CSS
ep6jt1vc4#
此代码工作屏幕大小限制为1200px以上。仅在大于1200px的设备中检查此代码。如果设备大小小于1200px,则布局为正常Demo
第一个
bvjxkvbb5#
如果您使用bootstrap的SASS,则可使用以下替代解决方案:
生成两个类-
container-fluid-left
和container-fluid-right
-这两个类在左侧/右侧将是流体,而在另一侧仅在与普通容器相同的空间中是阻塞的。xzlaal3s6#
这会将0边界套用至所有边,但左边除外,左边设定为自动。然后移除填补,让第二栏与右边对齐。
Demo
bwitn5fc7#
我也做了同样的事情。我现在做了一个版本,适用于左边1/3列和右边2/3 +全宽列。如果时间足够,我可以基于所有的col-- 选项添加所有的选项。
我所做的是使用100 vw并减去(使用SASS变量)固定宽度和一半的宽度来添加左边距,并在右边添加0边距。我将列再次拆分为1/3和2/3 +边距:
我使用了另一张海报中的when-sm / when-md / when-lg,这些是混合:
对于原来的海报布局(8左4右),唯一的区别将是交换1/3和2/3左右
wlsrxk518#
我也遇到了同样的问题,决定直接跳过.container类。
只要.container-only-left类被放在一个覆盖100 vw的元素中,这对我就有效。