利用 CSS 进行网页布局

这里主要主要介绍如何利用 CSS 来进行网页的一栏两栏三栏混合布局

1. 一列布局

<html>
   <head>
      <style type="text/css">
         body{margin:0;padding:0}
         .top{height: 100px; background: blue;}
         .main{width: 800px; height: 300px; background: #ccc; margin: 0 auto; }
         .foot{width: 800px; height: 100px; background: #900; margin: 0 auto;}
      </style>
   </head>
   <body>
      <div class="top"> </div>
      <div class="main"> </div>
      <div class="foot"> </div>
   </body>
</html>

效果:

一列布局

2. 两列布局

<html>
   <head>
      <style type="text/css">
         body{margin: 0; padding: 0}
         .main{width: 800px; margin: 0 auto;}
         .left{width:160px; height: 500px; float:left; background: red;}
         .right{width: 640px; height: 500px; float:right; background: blue;}
      </style>
   </head>
   <body>
      <div class="main"> 
         <div class="left"> </div>
         <div class="right"> </div>
      </div>
   </body>
</html>

效果:

两列布局

如果要使左右两列的宽度自适应大小,只要将 class 等于 right 和 left 的两个 div 的宽度设置为百分比的形式就好了,不要固定宽度。例如:

 .left{width:20%; }
.right{width: 80%; } 

3. 三列布局

设计要求:左右两列的宽度是固定大小的,中间一列的宽度是根据内容自适应大小的。

<html>
   <head>
      <style type="text/css">
         body{margin:0; padding:0}
         .left{width:200px; height:500px; background:red; position:absolute; left:0; top:0;} 
         .middle{height:500px; background:#999; margin:0 300px 0 200px;}
         .right{width:300px; height:500px; background:blue; position:absolute; right:0; top:0;}
      </style>
   </head>
   <body>
      <div class="left"> </div>
      <div class="middle">
         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
         aaaaaaaaaaaaaaaaaaa
      </div>
      <div class="right"> </div>
   </body>
</html>

效果:

三列布局

如果我们在这里只是简单的设定 right, left 和 middle 的 div 的宽度的话,middle div 里面的内容会显示在一行,然后自己撑开了,使 right, left 和 middle 不在同一行,所以这里用到了 position:absolute 从而使 middle div 里面的根据内容自适应宽度。

4. 混合布局

<html>
   <head>
      <style type="text/css">
         body{margin:0; padding:0}
         .top{height:50px; background:blue;}
         .head{height:50px; width:800px; background:#f60; margin: 0 auto;}
         .main{height:500px; width:800px; background:#cc; margin:0 auto;}
         .left{height:500px; width:200px; background:yellow; float:left;} 
         .right{height:500px; width:600px; background:369; float:right;}
         .sub_l{height:500px; width:400px; background:green; float:left;}
         .sub_r{height:500px; width:200px; background:#09f; float:right;}
         .foot{height:50px; width:800px; background:#900; margin: 0 auto;}
      </style>
   </head>
   <body>
      <div class="top"> 
         <div class="head">  </div>
      </div>
      <div class="main"> 
         <div class="left">  </div>
         <div class="right"> 
            <div class="sub_l">  </div>
            <div class="sub_r">  </div>
         </div>
      </div>
      <div class="foot">  </div>
   </body>
</html>

效果:

混合布局

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值