footer放置的最好情况

1.页面内容少,无法撑开,在可视窗口最底部

2.页面内容多,在页面最底部demo点这里~

css方法

position:

  • fixed 固定在可视窗口最底部
  • absolute 显示在可视窗口的最底部
  • relative 显示在页面的最底部 (和什么都不写一样,因为内容会直接将footer挤在底部) 缺点:使用position,不能在内容多的时候显示

1.推拉推原理

步骤 1.设置div.wraper高度为整个网页, 2.将推到下一页的footer使用margin-bottom拉回 3.为避免设置了负边距的页面内容与footer重叠,所以使用

div.push||.main[padding-bottom]||wrapper:after
复制代码

再次推开footer

为元素设置负外边距。这会导致元素超出其父元素,或者与其他元素重叠,但并不违反框模型。

以下三种写法均为此原理

1.1 div.push写法

html结构

<div class="wrapper"><div class="main" id="main"></div><div class="push"></div>
</div>
<footer class="footer"><p>© 2015 深圳波纹聚联网络科技有限公司</p><a href="http://www.miitbeian.gov.cn/">粤ICP备15111480号-1</a>
</footer>
复制代码

css结构

/*div.push 写法*/
html, body {
height: 100%;
}.wrapper-add{
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -58px; 58px为footer的高度+margin
}
复制代码

1.2 .main[padding-bottom] 写法

html结构

<div class="wrapper"><div class="main" id="main"></div>
</div>
<footer class="footer"><p>© 2015 深圳波纹聚联网络科技有限公司</p><a href="http://www.miitbeian.gov.cn/">粤ICP备15111480号-1</a>
</footer>
复制代码

css结构

/*margin 写法*/
html, body {
height: 100%;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -58px;
}
.main{padding-bottom: 58px;
}
复制代码

1.3 .wrapper:after写法

html结构

<div class="wrapper"><div class="main" id="main"></div>
</div>
<footer class="footer"><p>© 2015 深圳波纹聚联网络科技有限公司</p><a href="http://www.miitbeian.gov.cn/">粤ICP备15111480号-1</a>
</footer>
复制代码

css结构

/*after 写法*/
html, body {
height: 100%;
}
.wrapper{min-height: 100%;margin-bottom: -58px;
}
.wrapper:after {content: "";display: block;
}
.footer, .wrapper:after {height: 58px;
}复制代码

2.flex

<div class="main" id="main"></div>
<footer class="footer"><p>© 2015 深圳波纹聚联网络科技有限公司</p><a href="http://www.miitbeian.gov.cn/">粤ICP备15111480号-1</a>
</footer>
复制代码

css写法

/*flex写法*/
body {display: flex;min-height: 100vh;flex-direction: column;
}.main {flex: 1;
}
复制代码

注意:vh兼容性表,兼容性还不错,只是安卓4.3以下都不兼容。

demo

js方法

计算高度,设置footer的位置。

综上,如果内容多的话,不去捣鼓footer也行,当内容不确定的时候,推拉推方法可以一直保持在页面内容的最底部。

参考资料

  • 设置after (Sticky Footer 此插件实现原理)
  • 用CSS固定footer在底部的疑问?
  • 网页中的底部foot一般是如何定位的?
  • caniuse -兼容性查询

footer的各种写法相关推荐

  1. footer固定到底部

    固定Footer 很多情况之一,设计师希望导航条固定在浏览器顶部或底部,这种固定式导航条的应用在移动端开发中更为常见.Bootstrap框架提供了两种固定导航条的方式: ☑  .navbar-fixe ...

  2. Emmet (ZenCoding) 缩写语法

    Emmet 使用类似于 CSS 选择器的语法描述元素在生成的文档树中的位置及其属性. 元素 可以使用元素名(如 div 或者 p)来生成 HTML 标签.Emmet 没有预定义的有效元素名的集合,可以 ...

  3. Vue 基础快速入门(二)

    Vue 组件化编程 模块, 组件, 模块化与组件化 模块 理解:向外提供特定功能的 js 程序, 一般就是一个 js 文件 为什么:js 文件很多很复杂 作用:复用 js,简化 js 的编写, 提高 ...

  4. js获取页面高度以及jquery获取页面滚动距离scrollTop方法

    $(window).height(); //获取浏览器自身高度 也就是你浏览器所能看到的页面的那部分的高度 这个大小在你缩放浏览器窗口大小时 会改变 $(document).height(); //获 ...

  5. Vue3中slot插槽使用方式

    一文搞懂Vue3中slot插槽的使用! 使用 Vue 的小伙伴相信你一定使用过插槽,如果你没有用过,那说明你的项目可能不是特别复杂.插槽(slot)可以说在一个 Vue 项目里面处处都有它的身影,比如 ...

  6. slot在服务器哪个位置,彻底搞懂slot插槽,图文详解

    1.什么是插槽 VUE官方文档的解释: Vue 实现了一套内容分发的 API,将 元素作为承载分发内容的出口. 个人理解: 插槽实质是对子组件的扩展,通过插槽向组件内部指定位置传递内容. 或者这么说: ...

  7. Vue 插槽(slot)详细介绍(对比版本变化,避免踩坑)

    目录 前言 正文 插槽是什么? 怎么使用插槽? 基本用法 后备(默认)内容 具名插槽 作用域插槽 插槽版本变化 总结 前言 Vue中的插槽(slot)在项目中用的也是比较多的,今天就来介绍一下插槽的基 ...

  8. html footer写法,HTML5 footer标签元素 css3布局教程

    HTML5 标签元素 新增html5底部footer元素标签,对html 5新增footer标签根底认识到了解footer css组织教程做到真正掌控与认识 记得我们在畴前html5版本夙昔机关网页底 ...

  9. display 的 32 种写法

    从大的分类来讲,display的32种写法可以分为6个大类,再加上1个全局类,一共是7大类: 外部值 内部值 列表值 属性值 显示值 混合值 全局值 外部值 所谓外部值,就是说这些值只会直接影响一个元 ...

最新文章

  1. JavaScript页面校验
  2. JDK 8 新特性 之 default关键字
  3. 如何理解操作系统的不确定性_温度最低-273度,最高却能有1.4亿亿亿亿度,如何定义的?...
  4. [前台]---js中去掉双引号或者单引号
  5. 数据又多又散,“孤岛困境”怎样破局?
  6. zentaoPHP学习
  7. java读取合并单元格_Java POI常用方法,读取单元格的值,设置单元格格式,合并单元格,获取已合并的单元格,导出至本地等...
  8. [MIT 6.S081] Lab 4: traps
  9. [PED07]Feature Selection for Clustering:A Review聚类特征选择综述
  10. Java包装类,异常,集合,多线程,反射,IO,String类,lambda表达式,File类
  11. Android 录屏+录音,原生代码,无需root权限,好用更好懂
  12. 5.2.3 UE behaviour in state 5GMM-REGISTERED
  13. Java项目如何统一日志框架?
  14. 从一个故事说起,谈谈企业应用架构的演变史
  15. 组织机构代码和统一社会信用代码校验规则以及java校验工具类
  16. 合作:对应fork来的项目进行修改操作
  17. BaseMultiItemQuickAdapter 条目position获取
  18. java word 图片不显示_POI用addPicture插入图片到word里面无法显示
  19. 二项式反演(广义容斥定理)学习笔记
  20. 连接ARM设备的两种方式

热门文章

  1. 计算机课程实训总结,计算机实训总结优秀范文
  2. 利用python进行股票技术分析--以茅台为例
  3. navicat for mysql 导出向导_详解 Navicat 导出向导步骤
  4. 【Android】对话框AlertDialog的使用(一)
  5. Problem B Problem I
  6. 如何选择聚合支付平台
  7. eclipse 点击 ctrl+鼠标左键不能进入方法
  8. (10)stata的基本使用--短面板数据处理
  9. 再白也能学会的C-C语言的前世今生
  10. MATE9系统升级提示服务器,华为Mate9用ADB调试功能禁用系统更新去右上角提示更新的数字角标1...