我想构建一个网页,其布局与:http://instatrip.it相同
使用bootstrap。
在引导教程页面http://twitter.github.io/bootstrap/scaffolding.html#layouts
有响应式布局和流体布局的演示。
两种方法有什么区别?
要获得与instatrip相同的布局,我应该使用什么布局?
谢谢!
答案 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。
因此,如果您要使用流畅的布局,您可以使用自适应布局来更好地控制布局。