移动端,用flex弹性盒模型布局实现头部、底部固定,中间内容区可滑动浏览的效果

6 篇文章 0 订阅
3 篇文章 0 订阅

H5开发移动端项目时,常常会遇到此类问题,顶部navbar,底部tabbar,中间滑动展示内容,如果用position:fixed;往往会出各种问题,这时,你不如考虑一下flex布局,在移动端上使用,是真的香!

1.css部分

  body{
            padding: 0;
            margin: 0;
        }
        html,body{
            width: 100%;
            height: 100%;
        }
        .page{
            display: flex;
            flex-direction: column;
            height: 300px;
        }
        .header{
            height: 40px;
            background: rgba(0,0,0,0.6);
            font-size:40px;
        }
        .content{
            flex: 1;
            border: 1px solid red;
            overflow: auto;
        }
        .footer{
            height: 40px;
            background: rgba(0,0,0,0.6);
            font-size:40px;
        }

2.html部分

<div class="page">
    <div class="header">
        i am header
    </div>
    <div class="content">
        content
        <p>121212</p>
        <p>121212</p>
        <p>121212</p>
        <p>121212</p>
        <p>121212</p>
        <p>121212</p>
        <p>121212</p>
        <p>121212</p>
        <p>121212</p>
        <p>121212</p>
    </div>
    <div class="footer">
        footer
    </div>
</div>

注: content区域的flex属性值为1,由该元素自动填充,page元素内剩下的空间。但头部,和底部是要固定高度的。另外,最重要的一点是在content元素上设置overflow:auto属性,即当该区域的内容超出其高度时,由滑动滚动条来浏览观看。

同时注意:在移动端,在某一次实现功能中,尽量不要过多地用fixed固定定位来实现类似弹窗的效果,因为问题比较多,用弹性盒模型布局实现,兼容性好。

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flex布局是一种用来为盒状模型提供最大灵活性的布局方式。它是移动端开发中非常重要的布局方式,被广泛应用于80%以上的移动端开发中。与rem媒体查询结合使用,可以说是移动端开发的主流布局方式。 Flex布局的原理是通过给父容器添加flex属性来控制子项目的位置和排列方式。当我们将父容器设置为flex布局后,子元素的float、clear和vertical-align属性将失效。Flex容器中的子元素自动成为容器成员,称为Flex项目。 要实现Flex布局,只需要为父容器添加display:flex;属性即可。通过设置不同的flex属性值,可以实现不同的布局效果。例如,设置flex-direction: row;可以使子项目横向排列,而设置flex-direction: column;则可以使子项目纵向排列。 总之,Flex布局是一种弹性的、灵活的布局方式,适用于移动端开发,并可以与rem媒体查询结合使用,是移动端开发中的主流布局方式。它通过给父容器添加flex属性来控制子项目的位置和排列方式,为开发者提供了更大的布局自由度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [移动端flex布局](https://blog.csdn.net/yexiangCSDN/article/details/116591641)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值