网格布局
基本网格布局
最简单的网格布局,就是平均分布,在容器里面平均分配空间。
<style type="text/css">
.Grid {
display: flex;
margin-bottom: 5px;
}
.crid-cell,.crid-cell2 {
flex: 1;
background-color: yellow;
margin-left: 5px;
}
.crid-cell2 {
height: 200px;
}
</style>
<body>
<div class='Grid' >
<div class="crid-cell">1/2</div>
<div class="crid-cell">1/2</div>
</div>
<div class="Grid">
<div class="crid-cell">1/3</div>
<div class="crid-cell">1/3</div>
<div class="crid-cell">1/3</div>
</div>
<div class="Grid">
<div class="crid-cell">1/4</div>
<div class="crid-cell">1/4</div>
<div class="crid-cell">1/4</div>
<div class="crid-cell">1/4</div>
</div>
<div class='Grid' >
<div class="crid-cell2">...</div>
<div class="crid-cell2">...</div>
</div>
</body>
百分比布局
HTML
<div class="Grid">
<div class="Grid-cell cell1">1/4</div>
<div class="Grid-cell cell2" >auto</div>
<div class="Grid-cell cell3">1/3</div>
</div>
CSS:
.Grid {
display: flex;
}
.Grid-cell{
background-color: yellow;
flex: 1;
margin-left: 5px;
}
.cell1 {
flex: 0 0 25%;
}
.cell3 {
flex: 0 0 33.3333%;
}
.Grid {
display: flex;
}
.Grid-cell{
background-color: yellow;
flex: 1;
margin-left: 5px;
}
.cell1 {
flex: 0 0 50%;
}
圣杯布局
- 指的是一种最常见的网站布局。
- 页面从上到下,分成三个部分:头部(header),躯干(body),尾部(footer)。
- 其中躯干又水平分成三栏,从左到右为:导航、主栏、副栏
<style>
.demo {
display: flex;
flex-direction: column;
min-height: 40vh;
}
.body {
flex: 4;
display: flex;
text-align: center;
}
header,footer {
background-color: gray;
text-align: center;
flex: 1;
}
.left,.right {
background-color: pink;
/* 两个边框的宽度各占总宽度的20% */
flex: 0 0 20%;
}
.left {
/* 导航放在最左边 */
order: -1;
}
.center{
flex: 1;
}
</style>
<body>
<div class="demo">
<header>头部</header>
<div class="body">
<div class="center">center</div>
<div class="left">left</div>
<div class="right"> right</div>
</div>
<footer>底部</footer>
</div>
</body>