#笔记 简单使用flex与sticky footer方式解决底部固定在底栏的问题
2017-08-24 17:40
507 查看
问题
许多大型网站都有一个底栏,不论内容的高度是否填满屏幕,底栏都一直在页面的最底部。
要注意的是第一种方法必须设置外层容器的最小高度为100%
第二种方法使用了flex属性,flex包含三种属性,这里用到flex-grow: 设置放大比例
虽然两种方法都能给我们达到最终的目的,但是在具体效果上还是有些区别
下面放几张图来对比一下。
由于内容受flex-grow: 1的影响,浏览器窗口的尺寸决定了content的尺寸。所以填充的颜色不受height属性影响。
sticky footer下的content的height属性正常
许多大型网站都有一个底栏,不论内容的高度是否填满屏幕,底栏都一直在页面的最底部。
这个效果看似简单,却有不少的“坑”,下面我来介绍两种方法解决这个问题。 第一个方法(引用中注释的css)使用了固定定位解决 第二种方法使用的是flex布局解决的 *具体请参考:<<css secret>> -41项 紧贴底部的页脚*
要注意的是第一种方法必须设置外层容器的最小高度为100%
第二种方法使用了flex属性,flex包含三种属性,这里用到flex-grow: 设置放大比例
<!DOCTYPE html> <html> <head> <style> * { margin: 0; padding: 0; } html, body { background-color: #f3f3f3; height: 100%; } /* .container { position: relative; width: 100%; min-height: 100%; } .content { width: 100%; height: 600px; background: red; } .footer { height: 200px; width: 100%; background: yellow; position: absolute; bottom: 0; } */ /*flex 布局 */ .container { display: flex; flex-direction: column; width: 100%; height: 100%; } .content { width: 100%; height: 600px; background: red; flex: 1 0 auto; } .footer { height: 200px; width: 100%; background: yellow; flex: 0 0 auto; } </style> </head> <body> <div class="container"> <div class="content"></div> <div class="footer"></div> </div> </body> </html>
虽然两种方法都能给我们达到最终的目的,但是在具体效果上还是有些区别
下面放几张图来对比一下。
由于内容受flex-grow: 1的影响,浏览器窗口的尺寸决定了content的尺寸。所以填充的颜色不受height属性影响。
sticky footer下的content的height属性正常
相关文章推荐
- 使用flex布局解决安卓手机上固定在底部的按钮,在键盘弹起后挡住input输入框的问题
- 使用css固定底部footer(解决内容不充实底部上移问题)
- Spring @Async配置4. 基于@Async无返回值调用 使用的方式非常简单,一个标注即可解决所有的问题: 1 @Async //标注使用 2 public void asyncMe
- redis简单使用及用JSON字符串的方式解决对象存储问题
- 已解决:EditText被底部固定栏挡住,使用AndroidBug5497Workaround出现兼容问题
- 初学Flex,在使用Webservice时遇到Xml数据绑定的一个问题,试了N个方案,均没解决。
- CEGUI学习笔记六-- 使用CEGUI解决具体问题
- 解决“允许使用简单密码注册用户”后出现的问题
- 使用 StateServer 保存 Session 解决 Session过期,登陆过期问题,最简单的方法。
- 使用asx3m与xstream配合解决flex与java利用httpservice传递xml数据问题
- 寻求一种尽可能简单处理方式来解决复杂问题
- 使用AmfNet时Flex中中文乱码问题的解决
- [文摘]怎么使用Sticky Footer代码(让页脚紧贴页面底部的方法)
- 使用TYPE方式,解决IN列表过长的问题(1)
- git-svn使用方式及使用中的问题(已解决)
- ASP.NET学习笔记[1] - iis不能使用的问题解决
- JSP中,AJAX使用POST方式提交中文乱码问题解决
- 在flex中使用嵌入html文件以解决显示html的问题
- word2007的问题 此错误通常是由宏安全性设置造成的。如果您知道宏来自您信任的来源,则可将宏安全性设置更改为允许启用宏。宏安全性设置的更改方式取决于您使用的 Microsoft Office System 程序 解决方法
- 一步一步SharePoint 2007之十八:解决允许使用简单密码注册用户的问题