码迷,mamicode.com
首页 > Web开发 > 详细

CSS的布局

时间:2015-10-30 18:21:08      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

说到布局,无论网站多么复杂,都是以两列布局为基础。

技术分享

基本的两列布局,和三列布局。三列布局只是在其中一列又分出一个两列布局。

 

这是基本的HTML骨架。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <body>
 8     <div class="header">这里是头部</div>
 9     <div class="container">
10         <div class="mainBox">主要内容</div>
11         <div class="sideBox">侧边栏</div>
12     </div>
13     <div class="footer">底边栏</div>
14 </body>
15 </html>

以下是CSS两列固定宽高布局

技术分享

 1 *
 2 {
 3     padding:0;
 4     margin:0;
 5 }
 6 .header,.footer
 7 {
 8     width:960px;
 9     height:30px;
10     background-color:red;
11 }
12 .container
13 {
14     width:960px;
15     height:250px;
16     margin:10px 0;
17 }
18 .mainBox
19 {
20     float:left;
21     width:680px;
22     height:250px;
23     background-color:#333;
24     color:#ffffff;
25 }
26 .sideBox
27 {
28     float:right;
29     width:270px;
30     height:250px;
31     color:#ffffff;
32     background-color:#999999;
33 }

--------------------------------------------------------------------------------------------------------------------------------------------------------

以下是自适应高度的css布局。只是把高度值给去掉。

对container进行一次清除浮动。如果不清除浮动,与footer之间设置的间距就会失效。

技术分享

 1 *
 2 {
 3     padding:0;
 4     margin:0;
 5 }
 6 .header,.footer
 7 {
 8     width:960px;
 9     height:30px;
10     background-color:red;
11 }
12 .container
13 {
14     width:960px;
15     margin:10px 0;
16 }
17 .mainBox
18 {
19     float:left;
20     width:680px;
21     background-color:#333;
22     color:#ffffff;
23 }
24 .sideBox
25 {
26     float:right;
27     width:270px;
28     color:#ffffff;
29     background-color:#999999;
30 }
31 .container:after
32 {
33     display:block;
34     clear:both;
35     content:"";
36 }
/*这是清除了内容的左右浮动*/

--------------------------------------------------------------------------------------------------------------------------------------------------------

宽度自适应,统一用百分比就ok。

 1 *
 2 {
 3     padding:0;
 4     margin:0;
 5 }
 6 .header,.footer
 7 {
 8     
 9     height:30px;
10     background-color:red;
11 }
12 .container
13 {
14     margin:10px 0;
15 }
16 .mainBox
17 {
18     float:left;
19     width:70%;
20     background-color:#333;
21     color:#ffffff;
22 }
23 .sideBox
24 {
25     float:right;
26     width:30%;
27     color:#ffffff;
28     background-color:#999999;
29 }
30 .container:after
31 {
32     display:block;
33     clear:both;
34     content:"";
35 }
36 .footer
37 {
38     clear:both;
39 }
/*清除浮动是为了不让footer乱跑*/

--------------------------------------------------------------------------------------------------------------------------------------------------------

两列等高布局,主要原理是负边距的应用

 1 *
 2 {
 3     padding:0;
 4     margin:0;
 5 }
 6 .header,.footer
 7 {
 8     
 9     height:30px;
10     background-color:red;
11 }
12 .container
13 {
14     margin:10px 0;
15     overflow:hidden;
16 }
17 .mainBox
18 {
19     float:left;
20     width:70%;
21     background-color:#333;
22     color:#ffffff;
23 }
24 .sideBox
25 {
26     float:right;
27     width:30%;
28     color:#ffffff;
29     background-color:#999999;
30 }
31 .mainBox,.sideBox
32 {
33     margin-bottom:-9999px;
34     padding-bottom:9999px;
35 }
/*这个部分是关键点*/ 36 .container:after 37 { 38 display:block; 39 clear:both; 40 content:""; 41 } 42 .footer 43 { 44 clear:both; 45 }

--------------------------------------------------------------------------------------------------------------------------------------------------------

也可以用js来判断高度,以此来达到两列等高的效果。

 

CSS的布局

标签:

原文地址:http://www.cnblogs.com/treants/p/4923760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!