本文所指三栏布局为两侧宽度固定,中间宽度自适应的情况。
圣杯布局
圣杯布局通过父元素padding,子元素margin-left以及相对定位来实现。
情况1
html如下
1 | <div class="content"> |
css
查看代码
.content {
padding: 0 200px;
overflow: hidden;
}
.left,
.right,
.main {
float: left;
min-height: 100px;
position: relative;
}
.left,
.right {
width: 200px;
}
.left {
background-color: blue;
margin-left: -100%;
left: -200px;
}
.right {
background-color: red;
margin-left: -200px;
left: 200px;
}
.main {
background-color: green;
width: 100%;
}
情况2
html
1 | <div class="content"> |
css
1 | .content { |
Flex布局
情况3
HTML和情况2相同
css
1 | .content { |
利用order来确定次序。
Grid布局
情况4
HTML和情况2相同
css
1 | .content { |
双飞翼
情况5
html
1 | <div class="content"> |
css
1 | .content { |
利用中间的margin预留出左右两边的空间,再通过margin负值将左右两栏移到上方空处。