最近需要实现一个粘性页脚功能,不管页面内容怎么变,页脚始终要滑到页面的最下方才能出现,本文就详细的介绍一下如何实现,感兴趣的可以了解下
本学期在软件设计大作业时要实现一个粘性页脚功能,即不管页面内容怎么变,页脚始终要滑到页面的最下方才能出现。
本次作业采用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 © 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粘性页脚的具体使用
基础教程推荐
- ExtJS 3.x DateField menuListeners 显示/隐藏 2022-09-15
- 分页技术原理与实现之无刷新的Ajax分页技术(三) 2023-01-20
- ECSHOP中实现ajax弹窗登录功能 2023-01-31
- Vue+WebSocket实现在线聊天 2023-10-08
- vue的 Mixins (混入) 2023-10-08
- 深入浅析Jsonp解决ajax跨域问题 2022-12-28
- 基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽) 2023-02-01
- 关于 css:WebKit (iPad) CSS3: 背景过渡闪烁 2022-09-21
- 第7天:CSS入门 2022-11-04
- 解决ajax的delete、put方法接收不到参数的问题方法 2023-02-23