我想实现类似于这个的布局:http://dribbble.com/shots/829195-Slate/attachments/86422
我的项目使用Twitter Bootstrap和响应式设计。是否可以使用Bootstrap实现全宽度布局?
问题在于,根据我所读到的,流体布局将在Bootstrap 3.0中被移除,而响应式设计具有固定的宽度。
我想实现类似于这个的布局:http://dribbble.com/shots/829195-Slate/attachments/86422
我的项目使用Twitter Bootstrap和响应式设计。是否可以使用Bootstrap实现全宽度布局?
问题在于,根据我所读到的,流体布局将在Bootstrap 3.0中被移除,而响应式设计具有固定的宽度。
这里有一个非常好的教程:bootstrap-3-grid-introduction,而你问题的答案是<div class="container-fluid"> ... </div>
.container-liquid
,我并不完全理解,实际上Bootstrap的类名是.container-fluid
。检查一下你的资源:http://getbootstrap.com/css/#grid - Maciej Gurban由于被接受的答案和 BS3 不在同一个星球上,我将分享我正在使用的东西,以实现近乎全宽度的功能。
首先,这是作弊。它并不真正具有流体宽度——但根据浏览站点的屏幕大小,它似乎是全宽度的。
BS3 和流体宽度站点的问题在于,它们采取了“移动优先”的方法,需要定义每个可怕的屏幕宽度,直到它们认为是桌面(1200px)。我正在使用一台 1900px 宽的笔记本电脑,所以在 BS3 认为是桌面大小的宽度处,我会在内容两侧各有 350px。
它们定义了 10 个屏幕宽度(实际上只有 5 个,但无论如何)。我不太想改变它们,因为它们是常见的宽度。所以,我选择为 BS 定义一些额外的宽度,供其在决定容器类的宽度时选择。
我使用 BS 的方式是取出所有提供的 Bootstrap LESS 文件,省略 variables.less 文件以提供我的自定义变量,并在末尾添加一个文件来覆盖我想要改变的内容。在我的 less 文件中,我添加了以下内容,以实现 2 种常见的屏幕宽度设置:
@media screen and (min-width: 1600px) {
.container {
max-width: (1600px - @grid-gutter-width);
}
}
@media screen and (min-width: 1900px) {
.container {
max-width: (1900px - @grid-gutter-width);
}
}
这两个设置为实现不同屏幕宽度所需做的事情树立了榜样。在这里,您可以在1600px和1900px获得全宽度。如果小于1600,则Bootstrap会回退到1200px宽度,然后到768px等,直到手机尺寸。
如果您需要支持更大的屏幕,只需创建更多的@media screen语句即可。如果您正在构建CSS,则需要确定使用了什么格栅宽度,并从目标屏幕宽度中减去它。
自Bootstrap 3.0.1版本以来 - 只需将@container-large-desktop
设置为100%
自从这个问题最初在一月份回答以来,Bootstrap 3已经发布了,所以如果你是BS3用户,请参考BS3文档。对于仍在使用BS2的人,原始答案仍然适用。如果你有兴趣从2切换到3,请查看迁移指南。
从Bootstrap 2 文档中可以得知:
通过将.row更改为.row-fluid,使任何行“流动”。列类保持完全相同,使得轻松地在固定和流动网格之间切换。
代码
<div class="row-fluid">
<div class="span4">...</div>
<div class="span8">...</div>
</div>
只需创建另一个类并与Bootstrap的container
类一起添加即可。您也可以使用container-fluid
。
<div class="container full-width">
<div class="row">
....
</div>
</div>
* {
margin: 0;
padding: 0;
}
.full-width {
width: 100%;
min-width: 100%;
max-width: 100%;
}
*{
margin:0
padding:0
}
请确保您的容器宽度为100%。
.row-fluid
元素内时才是如此,但现在不再需要,并且该类不再存在。)如果您使用.container
,那么@Michael绝对正确,您将被困在固定宽度布局中。然而,如果您避免使用.container元素,则应该处于良好状态。<body>
<div class="row">
<div class="col-lg-4">...</div>
<div class="col-lg-8">...</div>
</div>
</body>
的边距已经是0,所以你应该能够直接到达边缘。(列仍然在两侧有15像素的填充,所以在设计时可能需要考虑这一点,但这不应该阻止你。当你下载Bootstrap时,你总是可以自定义这个。)
.container{
max-width:100%;
padding:0;
}
我认为你可以直接使用"class=col-md-12",它具有所需的左右填充和100%的宽度。看起来这是第二个Bootstrap中container-fluid的很好替代品。