Bootstrap - 响应式布局与流体布局

时间:2013-07-03 03:51:02

标签: twitter-bootstrap responsive-design fluid-layout


我想构建一个网页,其布局与:http://instatrip.it相同
使用bootstrap。
在引导教程页面http://twitter.github.io/bootstrap/scaffolding.html#layouts
有响应式布局和流体布局的演示。
两种方法有什么区别?
要获得与instatrip相同的布局,我应该使用什么布局?
谢谢!

2 个答案:

答案 0 :(得分:9)

流体布局适应不同的浏览器窗口大小:所有使用的值都是按视口大小的比例计算的,因此在调整大小时,所有列都会调整大小,但总体布局保持不变。

响应式布局也能够适应不同的大小,但在调整大小时,列数会根据可用空间而变化。例如,您可以想到您的网站仅在智能手机上调整为一列。

要获得与instatrip相同的布局,您至少需要将固定布局与流体布局相结合。但是有很多方法可以做到,我认为您应该尝试了解每种类型布局的确切目的,并找出满足您需求的特定解决方案。这是一些阅读:

http://radiatingstar.com/make-a-layout-with-fluid-and-fixed-size-columns http://coding.smashingmagazine.com/2009/06/02/fixed-vs-fluid-vs-elastic-layout-whats-the-right-one-for-you/

编辑:这是一个固定+流体布局的简单示例。找到here。我发布下面的代码,以防链接失效。

HTML:

<div id="page"> 
    <header id="sidebar"> 
        //SIDEBAR CONTENT HERE
    </header> 

    <article id="contentWrapper"> 
        <section id="content"> 
            //CONTENT HERE
        </section> 
    </article> 
</div>

CSS:

html {
    overflow: hidden;
}

#sidebar { 
    background: #eee;
    float: left;
    left: 300px;
    margin-left: -300px;
    position: relative;
    width: 300px;
    overflow-y: auto;
}

#contentWrapper { 
    float: left;
    width: 100%;
}

#content {
    background: #ccc;
    margin-left: 300px;
    overflow-y: auto;
}

Javascript:

$(document).ready(function() {

    //GET BROWSER WINDOW HEIGHT
    var currHeight = $(window).height();
    //SET HEIGHT OF SIDEBAR AND CONTENT ELEMENTS
    $('#sidebar, #content').css('height', currHeight);

    //ON RESIZE OF WINDOW
    $(window).resize(function() {

        //GET NEW HEIGHT
        var currHeight = $(window).height();    
        //RESIZE BOTH ELEMENTS TO NEW HEIGHT
        $('#sidebar, #content').css('height', currHeight);

    });

});

答案 1 :(得分:4)

流体布局是使用百分比构建的网格,没有任何东西被视为固定网格,布局是流畅的。

响应式布局是Fluid layout + Media Queries的组合,其中为某些浏览器分辨率定义了特定于媒体的css。

因此,如果您要使用流畅的布局,您可以使用自适应布局来更好地控制布局。