>[danger]什么是圣杯布局?
1. 看图如下: (注意这里底部footer, 在屏幕高度不够时要在最下面, 高度撑开了, 也要在所有内容顶到最下面.
![](https://box.kancloud.cn/da23ed4b8f6adc595a6298b877b16ca2_1173x738.png)
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的安装
- 理财
- 基金
- 摄影