两列布局---左侧固定,右侧自适应
方法一,高度100%,左侧float,右侧自动宽度(会自动占满剩余宽度)。
CSS及相关的HTML如下:
1: body {
2: margin: 0;
3: height: 100%
4: }
5: html {
6: /*兼容firefox的div高度100%*/
7: height: 100%
8: }
9: #left {
10: width: 150px;
11: height: 100%;
12: float: left;
13: /*解决IE6的3px-Bug*/
14: /*IE6下当浮动元素与非浮动元素相邻时,3px的Bug就会出现,它会偏移3像素。*/
15: _margin-right: -3px;
16: background-color: yellow
17: }
18: #main {
19: height: 100%;
20: background-color: green;
21: overflow: auto;
22: }
1: <div id="left">left</div>
2: <div id="main">
3: main
4: <br/>
5: main
6: <br/>
7: main
8: <br/>
9: main
10: <br/>
11: main
12: <br/>
13: main
14: <br/>
15: main
16: <br/>
17: main
18: <br/>
19: main
20: <br/>
21: main
22: <br/>
23: main
24: <br/>
25: main
26: <br/>
27: main
28: <br/>
29: main
30: <br/>
31: main
32: <br/>
33: main
34: <br/>
35: main
36: <br/>
37: main
38: <br/>
39: main
40: <br/>
41: main
42: <br/>
43: main
44: <br/>
45: main
46: <br/>
47: main
48: <br/>
49: main
50: <br/>
51: main
52: <br/>
53: main
54: </div>
方法二,绝对定位absolute,使用方法一的HTML结构,左侧绝对定位,拉出文档流,高度100%并设置一定宽度200px。右侧自动宽度(将占100%)并设置margin-left:200px。
1: body {
2: margin: 0;
3: height: 100%
4: }
5: html {
6: height: 100%
7: }
8: #left {
9: position: absolute;
10: top: 0;
11: left: 0;
12: width: 200px;
13: height: 100%;
14: background-color: #CCCCCC
15: }
16: #main {
17: margin-left: 200px;
18: height: 100%;
19: background-color: #0099FF;
20: overflow:auto;
21: }
方法三, 右侧宽度与高度均100%,左侧部分float,使左侧部分被包含到右侧部分,如下面的HTML结构。
若左侧部分设有高度,则若右侧部分内容超出此高度时,其内容将会出现到左侧部分下方,这种特性有某些情境是有用的。如下图所示:

1: body {
2: margin: 0;
3: height: 100%
4: }
5: html {
6: height: 100%
7: }
8: #left {
9: width: 200px;
10: height: 100%;
11: background-color: #CCCCCC;
12: float: left
13: }
14: #main {
15: width: 100%;
16: height: 100%;
17: background-color: #0099FF;
18: overflow:auto;
19: }
1: <div id="main">
2: <div id="left">
3: left

浙公网安备 33010602011771号