聖盃佈局和雙飛翼佈局

1.兩邊寬度固定,中間寬度自適應

聖盃佈局:

具體實現:

	<!DOCTYPE html>
	<html>
		<head>
			<meta charset="utf-8" />
			<title>聖盃佈局</title>
			<style type='text/css'>
			body {
	            min-width: 500px;//設置最小寬度=>>200+100+200=500(position:relative+200)
	            margin: 0;
	         }
			 header{
			 	width: 100%;
			 	background-color: #dd4f43;
			 	text-align: center;
			 }
			 .container{
			 	padding-left: 200px;
			 	padding-right: 100px;
			 	background-color: yellow; 
			 }
			 .container .column{
			 	float: left;/*三列設置浮動 footer需要清除浮動,否則就跑到一行去了*/ 
			 	text-align: center;
			 }
			 #center{
			 	width: 100%;/*center設置100%,那麼left和right就會擠到第二行*/
			 	background-color: #4b8bf4;
			 }
			 #left{
			 	width: 200px;
			 	background-color: #ffcd42;
			 	margin-left: -100%;
			 	position: relative;
			 	right: 200px; /*在右邊插入200px*/
			 }
			 #right{
			 	width: 100px;
			 	margin-right: -100px;
			 	background-color: #c900c9;
			 }
			  footer{
			  	clear: both;/*清除浮動*/
			 	width: 100%;
			 	text-align: center;
			 	background-color: #17a05d;
			 }
			</style>
		</head>
		<body>
			<header>header</header>
			<div class="container">
			  <div id="center" class="column">center</div>
			  <div id="left" class="column">left</div>
			  <div id="right" class="column">right</div>
			</div>
			<footer>footer</footer>
		</body>
	</html>

雙飛翼佈局的DOM結構與聖盃佈局的區別是用container僅包裹住center,另外將.column類從center移至container上。

雙飛翼佈局 實現:

	<!DOCTYPE html>
	<html>
		<head>
			<meta charset="utf-8" />
			<title>聖盃佈局</title>
			<style type='text/css'>
				body{
					min-width: 600px;
					/*計算最小頁面寬度:由於雙飛翼佈局沒有用到position:relative進行定位,所以最小頁面寬度應該爲200+150=350px。但是當頁面寬度縮小到350px附近時,會擠佔中間欄的寬度,因此在設置最小頁面寬度時,應該適當增加一些寬度以供中間欄使用,例如300px  100+200+300=600*/
				}
		     #container{
		     	width: 100%
		     }
		     .column{
		     	float: left;
		     }
		     header{
		     	background-color: #f94;
		     }
		     #center{
		     	background-color: red;
		     	margin-left: 200px;
                margin-right: 100px;
		     }
		     #left{
		     	width: 200px;
		     	margin-left: -100%;
		     	background-color: pink;
		     }
		     #right{
		     	width: 100px;
		     	margin-left: -100px;
		     	background-color: gray;
		     }
		     footer{
		     	background-color: #f94;
		     	clear: both;
		     }
			</style>
		</head>
		<body>
			<header>header</header>
			<div id="container" class="column">
			  <div id="center">center</div>
			</div>
			  <div id="left" class="column">left</div>
			  <div id="right" class="column">right</div>
			<footer>footer</footer>
		</body>
	</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章