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基础(RGBa、text-shadow、box-shadow、border-radius)
Nov 13 HTML / CSS
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
Sep 02 HTML / CSS
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
Mar 17 HTML / CSS
CSS实现定位元素居中的方法
Jun 23 HTML / CSS
CSS3打造百度贴吧的3D翻牌效果示例
Jan 04 HTML / CSS
CSS3 transforms应用于背景图像的解决方法
Apr 16 HTML / CSS
css3 中translate和transition的使用方法
Mar 26 HTML / CSS
CSS3动画和HTML5新特性详解
Aug 31 HTML / CSS
详解CSS3:overflow属性
Nov 17 HTML / CSS
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
Jun 16 HTML / CSS
从零实现一个自定义html5播放器的示例代码
Aug 01 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
Aug 19 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
用session做客户验证时的注意事项
2006/10/09 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
Yii清理缓存的方法
2016/01/06 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
python解释器安装教程的方法步骤
2020/07/02 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
MADE法国:提供原创设计师家具
2018/09/18 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
金士达面试非笔试
2012/03/14 面试题
党风廉政承诺书
2014/03/27 职场文书
公司年终奖分配方案
2014/06/16 职场文书
建筑工地大门标语
2014/06/18 职场文书
五心教育心得体会
2014/09/04 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
张丽莉观后感
2015/06/16 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
歌咏比赛主持词
2015/06/29 职场文书