实现并列布局的7种方式
分类:CSS
来源:网络
时间:2012-04-11 21:25:50
首先说明要求,实现3个容器并列布局,如下图所示:
这种题在web前端css部分笔试题中经常出现.通过这题能考察出应聘者对css的掌握程度,其考察的面非常广.公司里刚来的前端我也给他出了这样一题,不过我说的至少写出3种实现方式.当时自己想到的有5种实现方式,后来回来一总结才发现可以有7种实现方式满足上述要求,但不限于7种.我目前只能想到这几种.所以特做总结,和大家分享.
1.最常用的方式:float
这是最常用的一种方式,利用float属性向左或右浮动便可实现。
主要html代码:
1
2
3
|
< DIV id = c1 ></ DIV > < DIV id = c2 ></ DIV > < DIV id = c3 ></ DIV > |
主要css代码:
1
2
3
4
5
6
7
|
#c 1 ,#c 2 ,#c 3 { width : 200px ; height : 400px ; background-color : #459898 ; float : left ; margin : 20px ; } |
2.利用table布局实现
这也算是很早以前较常使用的方式。
主要html代码:
1
|
< TABLE >< TBODY >< TR >< TD >< DIV id = c1 ></ DIV ></ TD >< TD >< DIV id = c2 ></ DIV ></ TD >< TD >< DIV id = c3 ></ DIV ></ TD ></ TR ></ TBODY ></ TABLE > |
3.使用position:absolute绝对定位实现
主要html代码:
1
2
3
|
< DIV id = c1 ></ DIV > < DIV id = c2 ></ DIV > < DIV id = c3 ></ DIV > |
主要css代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#c 1 ,#c 2 ,#c 3 { width : 200px ; height : 400px ; background-color : #459898 ; position : absolute ; } #c 1 { top : 20px ; left : 20px ; } #c 2 { top : 20px ; left : 260px ; } #c 3 { top : 20px ; left : 500px ; } |
4.利用position:relative相对定位实现
主要的css代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#c 1 ,#c 2 ,#c 3 { width : 200px ; height : 400px ; background-color : #459898 ; position : relative ; } #c 2 { top : -400px ; left : 240px ; } #c 3 { top : -800px ; left : 480px ; } |
5.利用display:inline-block实现
对于这种方式,有高手推荐完全用这个属性来取代float.大家自行斟酌吧。
主要的css代码:
1
2
3
4
5
6
7
|
#c 1 ,#c 2 ,#c 3 { width : 200px ; height : 400px ; background-color : #459898 ; margin : 20px ; display :inline- block ; } |
6.利用display:table来实现
该方法类似于table布局实现.
主要html代码:
1
2
3
4
5
6
7
|
< DIV id = container > < DIV id = row > < DIV id = c1 ></ DIV > < DIV id = c2 ></ DIV > < DIV id = c3 ></ DIV > </ DIV > </ DIV > |
主要的css代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#container{ display :table; } #row{ display : table-row ; } #c 1 ,#c 2 ,#c 3 { width : 200px ; height : 400px ; background-color : #459898 ; border-right : 40px solid #fff ; display : table-cell ; } |
7.利用css3新属性column实现
这种方法可能是大家最陌生的一种,ie8及以下浏览器都不支持。
主要html代码:
1
2
3
4
5
|
< DIV id = container > < DIV id = c1 ></ DIV > < DIV id = c2 ></ DIV > < DIV id = c3 ></ DIV > </ DIV > |
主要的css代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#container{ width : 700px ; -webkit-column-count: 3 ; -webkit-column-gap: 20px ; -webkit-column- width : 200px ; -moz-column-count: 3 ; -moz-column-gap: 20px ; -moz-column- width : 200px ; column-count: 3 ; column-gap: 20px ; column- width : 200px ; } #c 1 ,#c 2 ,#c 3 { width : 200px ; height : 400px ; background-color : #459898 ; } |
希望大家能给出更多的实现方案以前分享.博客也很久没更新了,主题最近一段时间也没进展.
来源:http://gulangfish.com/?p=768
- 默认分类(20)
- J2EE(25)
- Java(56)
- PHP(55)
- SEO(10)
- 网页设计(20)
- 网站建设(37)
- 数据库(7)
- JavaScript(17)
- JQuery(6)
- MySQL(20)
- SQL Server(6)
- Access(1)
- Oracle(6)
- office(6)
- Dreamweaver(4)
- Photoshop(12)
- Flash(9)
- Fireworks(13)
- CSS(14)
- HTML(4)
- .NET(7)
- ASP(2)
- DB2(1)
- Ajax(2)
- Linux(12)
- Struts(7)
- Hibernate(8)
- Spring(2)
- Jsp(22)
- Asp(8)
- C#(3)
- C++(1)
- 网络安全(5)
- 软件工程(7)
- XML(1)
- English(2)
- 计算机等级考试(2)
- 计算机病毒(4)
- 个人日志(76)
- 互联网(15)
- ActionScript(10)
- Android(3)
- 数据结构与算法(1)
- 游戏策略(3)
- 美文翻译(2)
- 编程开发(19)
- 计算机应用(4)
- 计算机(10)
- Unity3d(6)
- 其他(1)
- egret(1)