利用 CSS 進行網頁佈局
阿新 • • 發佈:2018-12-31
這裡主要主要介紹如何利用 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>
效果: