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弹性伸缩布局之box布局
Jul 12 HTML / CSS
一款利用html5和css3实现的3D立方体旋转效果教程
Apr 26 HTML / CSS
检测用户浏览器是否支持CSS3的方法
Aug 29 HTML / CSS
纯CSS实现聊天框小尖角、气泡效果
Apr 04 HTML / CSS
CSS3制作Dropdown下拉菜单的方法
Jul 18 HTML / CSS
HTML5 canvas 基本语法
Aug 26 HTML / CSS
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
Oct 16 HTML / CSS
详解html5 postMessage解决跨域通信的问题
Aug 17 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
Dec 21 HTML / CSS
CSS实现多个元素在盒子内两端对齐效果
Mar 30 HTML / CSS
HTML中的表格元素介绍
Feb 28 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
php获取网页内容方法总结
2008/12/04 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
Javascript 获取字符串字节数的多种方法
2009/06/02 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
json的使用小结
2016/06/08 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
JS实现复制内容到剪贴板功能
2017/02/05 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
Python with用法实例
2015/04/14 Python
详解Python3中的迭代器和生成器及其区别
2018/10/09 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
Python datetime包函数简单介绍
2019/08/28 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
企业读书活动总结
2014/06/30 职场文书
房产分割协议书范文
2014/11/21 职场文书
大学毕业生自我评价
2015/03/02 职场文书
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android
nginx安装以及配置的详细过程记录
2021/09/15 Servers
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL