>[danger]什么是圣杯布局?
1. 看圖如下: (注意這里底部footer, 在屏幕高度不夠時要在最下面, 高度撐開了, 也要在所有內容頂到最下面.

2. 設計思路:
(1): 設置header+內容的div容器 和并列的footer的div
(2): 然后設置大容器里的小容器padding-bottom為footer留好位置.
(3): 給footer設置margin-top為負數讓它頂上來.
(4): 然后跟雙飛翼布局一樣, 設置內容的左中右排列即可. 注意這里不要再給固定高度了. 不然內容無法撐開高度.
3. 代碼如下:
```
<style>
* {
margin: 0;
}
html, body {
height: 100%;
}
/*全局樣式*/
.big_wrap{
min-height: 100%;
}
.content_wrap{
padding-bottom: 100px;
}
.footer{
margin-top: -100px;
height: 100px;
background-color: gray;
}
.header{
height: 100px;
background-color: black;
}
/*中間部分樣式wrap*/
.wrap{
overflow: hidden;
}
.left_div,
.main_div,
.right_div {
float: left;
color: white;
}
.left_div {
margin-left: -100%;
width: 200px;
background: red;
}
.right_div {
margin-left: -200px;
width: 200px;
background: blue;
}
.main_div{
width: 100%;
background: green;
}
.main_content{
margin-left: 200px;
margin-right: 200px;
}
</style>
<body>
<div class="big_wrap">
<div class="content_wrap">
<div class="header"></div>
<!--父級wrap用于, 清除三塊div的浮動-->
<div class="wrap">
<!--這里注意必須要套一個div, 外層div占據整個容器寬度, 內部div默認寬度百分百, 如果沒有外層容器, 則寬度無法撐開, 然后里面設置左右margin, 給下面2個浮動div, 讓他倆可以占據左右留出的margin的位置-->
<div class="main_div">
<div class="main_content">我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我是內容我</div>
</div>
<div class="left_div">左-紅色Div, <br><br><br><br><br><br></div>
<div class="right_div">右-藍色Div, <br><br><br><br><br><br></div>
</div>
</div>
</div>
<div class="footer"></div>
</body>
```
- web前端
- CSS問題
- 布局
- 雙飛翼布局_flex方式
- 雙飛翼布局_margin方式
- 圣杯布局_flex方式
- 圣杯布局_margin方式
- 子元素居中問題
- 彈性布局
- 概念_
- 標準模式與混雜模式
- 各種FC
- line-height
- vertical-align
- CSS3新特性
- 效果
- div添加箭頭
- CSS繪制三角形
- JavaScript
- 兼容
- 事件相關
- 原理
- Ajax原理
- 繼承原理
- 原型鏈繼承
- 組合繼承
- 寄生組合繼承
- 數據綁定
- 1單向數據綁定m到c到v
- 2偽雙向數據綁定
- 3雙向數據綁定
- socket.io
- 運行時
- this指向
- 0.1+0.2問題
- 對象/數組-深拷貝&淺拷貝
- 事件循環
- typeof
- instanceof
- 概念
- 閉包
- 回調函數
- Promise
- 原生對象
- Attribute和property區別
- 防抖函數
- 節流函數
- 語言類型
- Vue
- Vue優缺點
- 仿Vue源碼
- 1數據綁定_Observe
- 2數據綁定_訂閱者&觀察者定義
- 3數據綁定_Vue類實現
- 4數據綁定_Vue訪問data更改
- 5DOM編譯_Compile_雙大括號模板講解
- 6DOM編譯_v-model講解
- 7DOM編譯_v-on:事件綁定講解
- 項目總結
- 使用Svg圖標
- vueCli環境_真機測試
- vueCli集成環信SDK
- 父子組件雙向綁定
- React
- React優缺點
- 我的組件庫
- Vue的組件庫
- 環信_聊天組件
- 面試題
- HTML_分類
- CSS_分類
- JavaScript_分類
- VueJS_分類
- ReactJS_分類
- AngularJS_分類
- 瀏覽器端
- 筆試題
- CSS
- 特殊布局
- JavaScript_
- 經典_宏任務_微任務
- 瀏覽器問題
- CORS
- web服務器
- Apache
- 開啟跨域
- Nginx
- 常用命令
- 正向代理
- 反向代理
- 負載均衡
- mac安裝Nginx
- 配置80端口
- 算法
- 冒泡排序
- 選擇排序
- 合并對象_排序
- 楊輝三角
- 紅黑樹
- 計算機基礎
- 網絡相關
- OSI七層模型
- http協議
- http工作原理
- https協議
- GET和POST區別
- hosts文件
- php相關
- session機制
- Linux
- 阿里云服務器
- linux使用Mysql
- 安裝mysql
- 導入.sql文件
- 遠程連接mysql
- linux使用xampp
- 安裝Xampp
- 配置web訪問
- 域名綁定服務器
- linux搭建git服務器_apache下
- 代碼管理
- 什么是git
- 命令行_使用git
- .gitignore文件講解
- 軟件
- VSCode的安裝
- 理財
- 基金
- 攝影