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实现无限循环的无缝滚动的实例代码
Jul 04 HTML / CSS
详解CSS3新增的背景属性
Dec 25 HTML / CSS
html5利用canvas绘画二级树形结构图的示例
Sep 27 HTML / CSS
html5如何及时更新缓存文件(js、css或图片)
Jun 24 HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
Jul 15 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
Sep 03 HTML / CSS
HTML5 Canvas之测试浏览器是否支持Canvas的方法
Jan 01 HTML / CSS
关于HTML5语义标签的实践(blog页面)
Jul 12 HTML / CSS
深入浅析HTML5中的article和section的区别
May 15 HTML / CSS
HTML5 body设置自适应全屏
May 07 HTML / CSS
详解CSS不定宽溢出文本适配滚动
May 24 HTML / CSS
CSS+HTML 实现顶部导航栏功能
Aug 30 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中ob_start()函数的用法
2013/06/24 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
Redis构建分布式锁
2017/03/28 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python消除序列的重复值并保持顺序不变的实例
2018/11/08 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
使用npy转image图像并保存的实例
2020/07/01 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
Hotels.com中国区:好订网
2016/08/18 全球购物
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
企业门卫岗位职责
2013/12/12 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
教代会开幕词
2015/01/28 职场文书
2015年保安个人工作总结
2015/04/02 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
Win11 BitLocker 驱动器加密
2022/04/19 数码科技
APP界面设计技巧和注意事项
2022/04/29 杂记