使用Flex 弹性布局来实现手机端顶部,底部固定,中间滑动效果

0 篇文章 0 订阅
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<style type="text/css">
*{padding:0;margin:0;}
html{
    font-size:14px;
    width:100%;
    height:100%;
    -webkit-font-smoothing:antialiased;
}
body{
    user-select:none;
    width:100%;
    height:100%;
    -webkit-text-size-adjust:none;
}
.page{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    height:100%;
}
.header{
    box-shadow:0px 1px 15px #ccc;
}
.header nav{
    width:100%;
    display:-webkit-box;
    display:flex;
    overflow-y:scroll;
    white-space:nowrap;
}
.header nav *{
    flex:1;
    -webkit-flex:1;
    -webkit-box-flex:1;
    padding:10px 15px; 
}
.page .content{
    padding:15px;
    position:relative;
    -webkit-box-flex:1;
    -webkit-flex:1;
    flex:1;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
}
.page .content *{
    margin-bottom:10px;
}
.footer{
    overflow:hidden;
    background:#fff;
    box-shadow:0px 1px 15px #ccc;
}
.foot-nav{
    text-align:center;
    display:-webkit-box;
    display:flex;
}
.foot-nav *{
    display:block;
    -webkit-box-flex:1;
    -webkit-flex:1;
    flex:1;
    padding:15px 0;
}
</style>
</head>
<body>
<div class="page">
    <header class="header">
       <nav>
            <span>推荐</span>
            <span>北京</span>
            <span>军事</span>
            <span>小说</span>
            <span>汽车</span>
            <span>公众号</span>
            <span>美图</span>
       </nav>
    </header>
    <div class="content">
        <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
     <div>   头部和底部是被子元素撑开的,也可根据实际情况指定相应的高度,底部的button是平均分布排列的(再添加几个也是),不用计算margin、padding以及position等,弹性布局很方便。
 
     再来个弹出层,一个基于头尾部固定的弹出层页面就实现了:</div>
    </div>
    <footer class="footer">
        <nav class="foot-nav">
            <span>首页</span>
            <span>视频</span>
            <span>个人</span>
        </nav>
    </footer>
</div>
</body>
</html>

原文地址:https://blog.csdn.net/u010881899/article/details/80845369

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flex弹性布局是一种CSS3中新增的布局模式,通过对容器和子元素的属性设置,实现了对元素的自适应、对齐等功能。以下介绍Flex弹性布局实现方式: 1. 容器属性设置 在容器上设置display:flex或display:inline-flex,即可开启Flex弹性布局模式。其他常用的容器属性包括: - flex-direction:设置主轴方向(row、column、row-reverse、column-reverse); - justify-content:主轴方向上的对齐方式(flex-start、flex-end、center、space-between、space-around); - align-items:交叉轴方向上的对齐方式(flex-start、flex-end、center、baseline、stretch); - align-content:多行情况下,交叉轴方向上的对齐方式(flex-start、flex-end、center、space-between、space-around、stretch); - flex-wrap:设置是否换行(nowrap、wrap、wrap-reverse)。 2. 子元素属性设置 在子元素上设置flex属性,即可设置子元素的伸缩性,常用的属性包括: - flex-grow:设置子元素在剩余空间中的放大比例; - flex-shrink:设置子元素在空间不足时的缩小比例; - flex-basis:设置子元素在主轴方向上的初始大小; - align-self:设置子元素在交叉轴方向上的对齐方式,覆盖容器的align-items属性。 3. 兼容性处理 Flex弹性布局在不同浏览器上的实现可能存在差异,需要进行兼容性处理。可以使用CSS前缀或者autoprefixer等工具进行处理,以保证在不同浏览器上的兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值