css如何把元素固定在容器底部的四种方式


Posted in HTML / CSS onJune 16, 2022

前几天被人问,「如何把元素固定在容器底部」。(本来想直接把 demo 地址给他,结果没找到,那么今天我们来补一下)

Demo 地址

css如何把元素固定在容器底部的四种方式

想法&思路

如果是页面底部,我们可以直接 position: fixed;bottom: 0; 基于浏览器定位直接实现。

但是他要的效果是基于父级容器,那么我们必须要使用其他手段来定位了

  • relative 来限制 absolute,然后 bottom: 0,但是在内容过长的时候会导致显示异常。所以我们需要做内部滚动。
  • 如果做内部滚动,那么我们只要可以撑开盒子即可。不需要绝对定位了

使用 flex 实现

  • 父级使用 flex 布局,column 垂直排列。
  • 父级定高(height、maxHeight),.content 子级 flex:auto; 自动撑开。 或者 .content 做高度限制。
  • footer 可以使用 absolute 加 padding 。或者完全依赖文档流布局都可以

    .demo1{
          position: relative;
          padding-bottom: 40px;
          display: inline-flex;
          flex-direction: column;
      }
      .demo1 .footer{
          position: absolute;
          bottom: 0;
          left: 0;right: 0;
          margin: 0;
      }
      .demo1 .content{
          overflow: auto;
      }

calc 实现

如果不使用 flex ,那么我们可以用 calc 来减去 header 和 footer 空间。

<style>
    .demo3{
        position: relative;
    }
    .demo3 .content{
        overflow: auto;
        max-height: calc(100% - 40px);
    }
</style>

absolute 实现

如果 calc 兼容性不太好,那么还可以使用 absolute 将所有元素都脱离文档流。

<style>
    .demo4{
        position: relative;
    }
    .demo4 .header,.demo4 .footer{
        position: absolute;
        margin: 0;
        top:0;left:0 ;right:0;
    }
    .demo4 .footer{
        top: auto;
        bottom: 0;
    }
    .demo4 .content{
        overflow: auto;
        height: 100%;
        padding-top: 30px;
        padding-bottom: 30px;
        margin: 0;
        box-sizing: border-box;
    }
</style>

到此这篇关于css如何把元素固定在容器底部的四种方式的文章就介绍到这了,更多相关css元素固定底部内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3中Color的一些特性介绍
May 27 HTML / CSS
css3实现3d旋转动画特效
Mar 10 HTML / CSS
纯CSS3实现8组超炫酷鼠标滑过图片动画
Mar 16 HTML / CSS
CSS3 中filter(滤镜)属性使用详解
Apr 07 HTML / CSS
Html5 实现微信分享及自定义内容的流程
Aug 20 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
Nov 05 HTML / CSS
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
Jul 24 HTML / CSS
微信端html5页面调用分享接口示例
Mar 14 HTML / CSS
详解android与HTML混合开发总结
Jun 06 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
Apr 16 HTML / CSS
canvas版人体时钟的实现示例
Jan 29 HTML / CSS
CSS实现章节添加自增序号的方法
Jun 23 HTML / CSS
css中有哪些方式可以隐藏页面元素及区别
Jun 16 #HTML / CSS
CSS控制继承中的height能变为可继承吗
Jun 10 #HTML / CSS
css样式important规则的正确使用方式
Jun 10 #HTML / CSS
分享几个实用的CSS代码块
Jun 10 #HTML / CSS
html中两种获取标签内的值的方法
Jun 10 #HTML / CSS
html5+实现plus.io进行拍照和图片等获取
Jun 01 #HTML / CSS
基于CSS制作创意端午节专属加载特效
You might like
PHP函数常用用法小结
2010/02/08 PHP
php写的AES加密解密类分享
2014/06/20 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
js异步上传多张图片插件的使用方法
2018/10/22 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Python爬虫JSON及JSONPath运行原理详解
2020/06/04 Python
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
UNIX文件系统分类
2014/11/11 面试题
创业计划书撰写原则
2014/01/25 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
审计班子对照检查材料
2014/08/27 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
2014年网管工作总结
2014/12/11 职场文书
白鹤梁导游词
2015/02/06 职场文书
办公室岗位职责范本
2015/04/11 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python