html粘性页脚的具体使用


Posted in HTML / CSS onJanuary 18, 2022

本学期在软件设计大作业时要实现一个粘性页脚功能,即不管页面内容怎么变,页脚始终要滑到页面的最下方才能出现。

本次作业采用bootstrap框架

网上方法

1、html标签

将html显示高度占满(class=“h-100”)。

<html lang="en" class="h-100">

2、body标签
设置body弹性布局,并将高度占满(class=“d-flex flex-column h-100”)。

<body class="d-flex flex-column h-100">

3、main标签

将main设置为不同的屏幕设备不设置收缩(role=“main” class=“flex-shrink-0”)。

<main role="main" class="flex-shrink-0">

弹性收缩规则:

  • flex-shrink-0 不同的屏幕设备不设置收缩
  • flex-shrink-1 不同的屏幕设备设置收缩

4、footer标签

设置footer顶部边框高度自动设置(class=“mt-auto”)。

<footer class="footer mt-auto py-3">

但我试了一下在我这都不能实现预期的效果。

解决方法

可通过判断$(window)和$(document)的关系来为footer添加"fixed-bottom"class
$(window).height()代表了当前可见区域的大小,
$(document).height()则代表了整个文档的高度,可视具体情况使用.
可根据它们两个之间的关系来决定是否添加改class。
页脚如下所示:

<footer class="mt-auto py-3 bg-dark" id="footer">
    <div class="container">
        <p class="m-0 text-center text-muted">Copyright &copy; Blog 2021</p>
    </div>
</footer>

动态添加"fixed-bottom"class

if($(window).height() == $(document).height()){
        $("#footer").addClass("fixed-bottom");
   }else{
         $("#footer").removeClass("fixed-bottom");
   }

注意:如果 $(window).height() 获取的不是窗口的高度而是文档文本高度,也就是 (window).height()(document).height返回值一样。那就是因为DOCTYPE没写造成的。

请检查html标签,改成,就OK了。

为此专门查了一下的作用:

DOCTYPE是document type(文档类型)的简写,在web设计中用来说明你用的XHTML或者HTML是什么版本。其中的DTD叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。特别是没有声明或声明不正确将在标准浏览器下更是不能正常显示。

要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。

网页中用了 <!DOCTYPE html> 就表示该页面采用了W3C标准,这样做可以增强页面的兼容性,降低对浏览器的依赖性。

不加这一行,就表示页面采用浏览器本身的解析标准,这样会造成页面在不同的浏览器(IE、火狐等)可能出现不同的显示效果。

也许这个解释能说明一定的原因。 定义DOCTYPE是个好习惯,也希望大家能写出标准规范的代码!

到此这篇关于html粘性页脚的具体使用的文章就介绍到这了,更多相关html粘性页脚内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3教程(4):网页边框和网页文字阴影
Apr 02 HTML / CSS
HTML5 声明兼容IE的写法
May 16 HTML / CSS
input file上传文件样式支持html5的浏览器解决方案
Nov 14 HTML / CSS
canvas 阴影和图形变换的示例代码
Jan 02 HTML / CSS
HTML5之消息通知的使用(Web Notification)
Oct 30 HTML / CSS
Html5页面上如何禁止手机虚拟键盘弹出
Mar 19 HTML / CSS
canvas绘制太极图的实现示例
Apr 29 HTML / CSS
html5 video全屏播放/自动播放的实现示例
Aug 06 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
Feb 24 HTML / CSS
Html5页面播放M4a音频文件
Mar 30 HTML / CSS
六种css3实现的边框过渡效果
Apr 22 HTML / CSS
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
Nov 11 HTML / CSS
CSS三大特性继承性、层叠性和优先级详解
Jan 18 #HTML / CSS
使用CSS设置滚动条样式
在CSS中使用when/else的方法
Jan 18 #HTML / CSS
CSS使用伪类控制边框长度的方法
浅谈css实现背景颜色半透明的两种方法
Dec 06 #HTML / CSS
HTML怎么设置下划线?html文字加下划线方法
Dec 06 #HTML / CSS
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
You might like
第六节 访问属性和方法 [6]
2006/10/09 PHP
PHP防注入安全代码
2008/04/09 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
修改发贴的编辑功能
2007/03/07 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
JavaScript中的类数组对象介绍
2014/12/30 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
BootStrap的两种模态框方式
2017/05/10 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
Python中变量交换的例子
2014/08/25 Python
Python中的urllib模块使用详解
2015/07/07 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
Django choices下拉列表绑定实例
2020/03/13 Python
python中的yield from语法快速学习
2020/11/06 Python
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
档案室主任岗位职责
2014/02/12 职场文书
倡导文明标语
2014/06/16 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
免职通知
2015/04/23 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android