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 相关文章推荐
一款利用html5和css3实现的3D立方体旋转效果教程
Apr 26 HTML / CSS
纯CSS3实现手风琴风格菜单具体步骤
May 06 HTML / CSS
css3实现超炫风车特效
Nov 12 HTML / CSS
CSS3绘制六边形的简单实现
Aug 25 HTML / CSS
使用HTML5 Canvas API中的clip()方法裁剪区域图像
Mar 25 HTML / CSS
HTML5实现QQ聊天气泡效果
Jun 26 HTML / CSS
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
Jan 30 HTML / CSS
基于HTML5 WebGL的3D机房的示例
Mar 16 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
May 26 HTML / CSS
AmazeUI图片轮播效果的示例代码
Aug 20 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
Feb 24 HTML / CSS
HTML+CSS实现导航条下拉菜单的示例代码
Aug 02 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
模拟flock实现文件锁定
2007/02/14 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
2014/06/23 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
js创建数组的简单方法
2016/07/27 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
vue自定义指令的创建和使用方法实例分析
2018/12/04 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
浅谈python字典多键值及重复键值的使用
2016/11/04 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
Python正则表达式分组概念与用法详解
2017/06/24 Python
利用python画出折线图
2018/07/26 Python
python3 pygame实现接小球游戏
2019/05/14 Python
详解anaconda安装步骤
2020/11/23 Python
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
怎样客观的做好自我评价
2013/12/28 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
教学实习自我评价
2014/01/28 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL