博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
footer固定在页面底部的实现方法总结
阅读量:6110 次
发布时间:2019-06-21

本文共 3164 字,大约阅读时间需要 10 分钟。

方法一:footer高度固定+绝对定位

HTML代码:

    
头部
中间内容
底部信息

CSS代码:

*{
margin:0; padding:0;}html{
height:100%;}body{
min-height:100%; margin:0; padding:0; position:relative;}header{
background: #000; text-align: center; height:50px; line-height: 50px; color:#fff;}main{ /* main的padding-bottom值要等于或大于footer的height值 */ padding-bottom:100px; background:#ccc; text-align: center;}footer{
position:absolute; color:#fff; bottom:0; width:100%; height:100px; line-height:100px; text-align:center; background-color: #000;}

实现的效果:

  • 首先,设置body的高度至少充满整个屏幕,并且body作为footer绝对定位的参考节点;
  • 其次,设置main(footer前一个兄弟元素)的padding-bottom值大于等于footer的height值,以保证main的内容能够全部显示出来而不被footer遮盖;
  • 最后,设置footer绝对定位,并设置height为固定高度值。

优点:footer一直存在于底部。

缺点:中间区域main如果内容不够,不能撑满页面的中间区域。

 方法二:footer高度固定+margin负值

HTML代码:

    
头部
中间内容
底部信息

CSS代码:

*{
margin:0; padding:0;}html,body{
height:100%;}.container{
min-height:100%;}header{
background: #000; text-align: center; height:50px; line-height: 50px; color:#fff;}main{
padding-bottom:100px; background:#ccc; text-align: center;}footer{
color:#fff; height:100px; line-height:100px; margin-top:-100px; text-align:center; background-color: #000;}

此方法把footer之前的元素放在一个容器里面,形成了container和footer并列的结构:

首先,设置.container的高度至少充满整个屏幕;
其次,设置main(.container最后一个子元素)的padding-bottom值大于等于footer的height值;
最后,设置footer的height值和margin-top负值

展示效果跟第一种是一样的,缺点跟第一种也是一样的。

方法三:footer高度任意+js

HTML代码:

头部
中间内容
底部信息

CSS代码:

*{
margin:0; padding:0;}html{
height:100%;}body{
min-height:100%; margin:0; padding:0; position:relative;}header{
background: #000; text-align: center; height:50px; line-height: 50px; color:#fff;}main{ /* main的padding-bottom值要等于或大于footer的height值 */ background:#ccc; text-align: center;}footer{
color:#fff; width:100%; height:100px; line-height:100px; text-align:center; background-color: #000;}/* 动态为footer添加类fixed-bottom */.fixed-bottom {
position: fixed; bottom: 0; width:100%;}

JS(jquery)代码:

$(function(){    function footerPosition(){        $("footer").removeClass("fixed-bottom");        var contentHeight = document.body.scrollHeight,//网页正文全文高度            winHeight = window.innerHeight;//可视窗口高度,不包括浏览器顶部工具栏        if(!(contentHeight > winHeight)){            //当网页正文高度小于可视窗口高度时,为footer添加类fixed-bottom            $("footer").addClass("fixed-bottom");        }    }    footerPosition();    $(window).resize(footerPosition);});

常用的纯css实现footer sticker

CSS代码:

html, body, #sticker {
height: 100%;} body > #sticker {
height: auto; min-height: 100%;} #stickerCon {
padding-bottom: 40px;} #footer {
margin-top:-40px; height: 40px; width: 100%; text-align: center; line-height: 40px; color: #ABA498; font-size: 12px; background: #fafafa; border-top:1px solid #E7E7E7;}

HTML代码:

 

转载地址:http://rxkka.baihongyu.com/

你可能感兴趣的文章
当中兴安卓手机遇上农行音频通用K宝 -- 卡在“正在通讯”,一直加载中
查看>>
Shell基础之-正则表达式
查看>>
JavaScript异步之Generator、async、await
查看>>
讲讲吸顶效果与react-sticky
查看>>
c++面向对象的一些问题1 0
查看>>
直播视频流技术名词
查看>>
网易跟贴这么火,背后的某个力量不可忽视
查看>>
企业级java springboot b2bc商城系统开源源码二次开发-hystrix参数详解(八)
查看>>
java B2B2C 多租户电子商城系统- 整合企业架构的技术点
查看>>
IOC —— AOP
查看>>
比特币现金将出新招,推动比特币现金使用
查看>>
数据库的这些性能优化,你做了吗?
查看>>
某大型网站迁移总结(完结)
查看>>
mysql的innodb中事务日志(redo log)ib_logfile
查看>>
部署SSL证书后,网页内容造成页面错误提示的处理办法
查看>>
MS SQLSERVER通用存储过程分页
查看>>
60.使用Azure AI 自定义视觉服务实现物品识别Demo
查看>>
Oracle 冷备份
查看>>
jq漂亮实用的select,select选中后,显示对应内容
查看>>
C 函数sscanf()的用法
查看>>