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特性查询(Feature Query: @supports)功能简介
Jul 31 HTML / CSS
css3 clip实现圆环进度条的示例代码
Feb 07 HTML / CSS
深入浅析CSS3中的Flex布局整理
Apr 27 HTML / CSS
Html5 postMessage实现跨域消息传递
Mar 11 HTML / CSS
html5中去掉input type date默认样式的方法
Sep 06 HTML / CSS
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
Jan 09 HTML / CSS
浅析移动设备HTML5页面布局
Dec 01 HTML / CSS
浅谈HTML5新增和废弃的标签
Apr 28 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
Aug 01 HTML / CSS
html5实现输入框fixed定位在屏幕最底部兼容性
Jul 03 HTML / CSS
元素水平垂直居中的方式
Mar 31 HTML / CSS
CSS font-variation 可变字体的魅力(实例详解)
Mar 03 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
PHP的autoload机制的实现解析
2012/09/15 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
一个php生成16位随机数的代码(两种方法)
2014/09/16 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
复制本贴标题和地址的js代码
2008/07/01 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
2018/09/01 jQuery
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
python 公共方法汇总解析
2019/09/16 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
解释一下钝化(Swap out)
2016/12/26 面试题
UNIX特点都有哪些
2016/04/05 面试题
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
转让协议书范本
2014/09/13 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
Golang日志包的使用
2022/04/20 Golang