解决IOS移动端fixed固定头部问题

1.上代码:

css部分

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

html部分

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

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

2.注意:

在IOS移动端,尽量不要用fixed实现头部或底部固定的效果,因为问题比较多,解决方法:

  • 用flex布局可实现头部,底部固定,代码开头已经给出。
  • -webkit-overflow-scrollingCSS属性用来处理当overflow-y:scroll,页面滑动时,很木的现象。-webkit-overflow-scrolling:touch使得滑动具有回弹效果。

你可能感兴趣的:(css,vue,移动端,ios,css,css3)