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弹性布局内容对齐(justify-content)属性使用详解
Jul 31 HTML / CSS
修复iPhone的safari浏览器上submit按钮圆角bug
Dec 24 HTML / CSS
CSS3图片旋转特效(360/60/-360度)
Oct 10 HTML / CSS
用CSS3实现背景渐变的方法
Jul 14 HTML / CSS
CSS3实现可关闭的下拉手风琴菜单效果
Aug 31 HTML / CSS
CSS3 :default伪类选择器使用简介
Mar 15 HTML / CSS
HTML5 拖放(Drag 和 Drop)详解与实例代码
Sep 14 HTML / CSS
基于HTML5 WebGL的3D机房的示例
Mar 16 HTML / CSS
详解window.open被浏览器拦截的解决方案
Jul 18 HTML / CSS
3种方式实现瀑布流布局小结
Sep 05 HTML / CSS
详解HTML5常用的语义化标签
Sep 27 HTML / CSS
HTML5基于flash实现播放RTMP协议视频的示例代码
Dec 04 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
基于mysql的论坛(4)
2006/10/09 PHP
PHP新手上路(二)
2006/10/09 PHP
php公用函数列表[正则]
2007/02/22 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
jQuery滑动效果实现方法分析
2018/09/05 jQuery
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
详解python中的文件与目录操作
2017/07/11 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
Python基于Socket实现简单聊天室
2020/02/17 Python
Python中的__init__作用是什么
2020/06/09 Python
十八大报告观后感
2014/01/28 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
委托公证书
2014/04/08 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书
基于tensorflow权重文件的解读
2021/05/26 Python
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis
Python中异常处理用法
2021/11/27 Python