三列寬度自適應佈局

admin發表於2018-08-17

左右兩列寬度固定中間自適應佈局可以參閱三列布局中間寬度自適應一章節。

本章節介紹一下三個列全都自適應的佈局效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style>
body{
  margin:0;
  padding:0;
  font-size:30px;
  font-weight:bold;
}
.left,
.main,
.right {
  text-align: center;
}
.left {
  width: 20%;
  height: 600px;
  background: #ccc;
  position: absolute;
  left: 0;
  top: 0
}
.main {
  height: 600px;
  margin: 0 20%;
  background: #9CF;
}
.right {
  width: 20%;
  height: 600px;
  background: #FCC;
  position: absolute;
  top: 0;
  right: 0;
}
</style>
</head>
<body>
  <div class="left">left</div>
  <div class="main">main</div>
  <div class="right">right</div>
</body>
</html>

上面程式碼實現了三列布局寬度自適應效果。

一.實現原理:

[CSS] 純文字檢視 複製程式碼
body{
  margin:0;
  padding:0;
  font-size:30px;
  font-weight:bold;
}

將內外邊距都是設定為零0,設定字型大小和粗細,非常簡單,不用多說。

[CSS] 純文字檢視 複製程式碼
.left {
  width: 20%;
  height: 600px;
  background: #ccc;
  position: absolute;
  left: 0;
  top: 0
}

之所以left元素寬度自適應,是因為它的寬度用百分比表示。

然後用對其採用絕對定位,並設定left屬性值為0,這樣元素就緊貼左壁。

右側div元素是一樣的原理,這裡不多介紹。

[CSS] 純文字檢視 複製程式碼
.main {
  height: 600px;
  margin: 0 20%;
  background: #9CF;
}

預設狀態下,塊級元素會盡量鋪滿它所在的父元素,不過這裡設定了它的左右外邊距,並且值恰好是左右元素的寬度,於是此元素不但能夠寬度自適應,而且能和左右兩元素緊挨著。

二.相關閱讀:

(1).position屬性參閱CSS position:absolute 絕對定位一章節。

相關文章