资讯专栏INFORMATION COLUMN

移动开发中固定布局

XFLY / 2866人阅读

摘要:记录一下移动开发过程中出现的问题。若是涉及到移动开发布局中碰到固定某一部分,其余部分可滚动,尽量不要使用可用替代,若是不需要考虑兼容性,用更佳。

记录一下移动开发过程中出现的问题。
从最常见的布局说起,固定头部或底部算是最常见的需求了
假定页面布局如下:

</>复制代码

实现头部、底部固定,中间滚动,有三种简单实现方式:

fixed布局

absolute布局

flex布局

先从最简单的fixed布局开始,实现方式如下:

</>复制代码

  1. html, body {
  2. overflow: hidden;
  3. height: 100%;
  4. }
  5. .header, .footer {
  6. position: fixed;
  7. left: 0;
  8. height: 50px;
  9. }
  10. .header {
  11. top: 0;
  12. }
  13. .footer {
  14. bottom: 0;
  15. }
  16. .main {
  17. height: 100%;
  18. padding: 50px 0;
  19. }

这种布局在大多数情况下是正常显示的,但在移动端上(iOS)position: fixed失效,会有所谓的兼容性问题;

第二种方式absolute实现如下:

</>复制代码

  1. html, body {
  2. position: relative;
  3. height: 100%;
  4. }
  5. .header, .footer {
  6. position: absolute;
  7. left: 0;
  8. width: 100%;
  9. height: 50px;
  10. }
  11. .header {
  12. top: 0;
  13. }
  14. .footer {
  15. bottom: 0;
  16. }
  17. .main {
  18. height: 100%;
  19. width: 100%;
  20. padding: 50px 0;
  21. overflow: auto;
  22. }

这种方式在移动端(iOS)上能准确布局

第三种方式flex布局如下:

</>复制代码

  1. body {
  2. height: 100%;
  3. display: flex;
  4. flex-direction: column;
  5. }
  6. .header, .footer {
  7. height: 50px;
  8. }
  9. .main {
  10. flex: 1;
  11. overflow: auto;
  12. -webkit-overflow-scrolling: touch; /*ios滚动流畅*/
  13. }

flex 定位在移动端兼容到了 iOS 7.1+,Android 4.4+,在iOS3.2~ios6.0可兼容flexbox,如果使用 autoprefixer 等工具还可以降级为旧版本的 flexbox ,可以兼容到 iOS 3.2 和 Android 2.1。

若是涉及到移动开发布局中碰到固定某一部分,其余部分可滚动,尽量不要使用position: fixed,可用absolute替代,若是不需要考虑兼容性,用flex更佳。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100015.html

相关文章

  • 移动开发中固布局

    摘要:记录一下移动开发过程中出现的问题。若是涉及到移动开发布局中碰到固定某一部分,其余部分可滚动,尽量不要使用可用替代,若是不需要考虑兼容性,用更佳。 记录一下移动开发过程中出现的问题。从最常见的布局说起,固定头部或底部算是最常见的需求了假定页面布局如下: 实现头部、底部固定,中间滚动,有三种简单实现方式: fix...

    Travis 评论0 收藏0
  • win10日历交互效果(进阶)

    摘要:日历可视移动高亮范围本篇文章在前一个初级的基础上进行后续的体验优化目标效果鼠标在目标元素内进行移动,个块组成的圆形高亮会随之移动实现效果图原图进阶实现图技术点初级篇使用的渐变范围写法进阶篇使用的渐变范围写法第一种写法是不考虑高光范围移动 win10日历可视移动高亮范围 本篇文章在前一个初级的基础上进行后续的体验优化 目标效果 鼠标在目标元素内进行移动,9个块组成的圆形高亮会随之移动 实...

    skinner 评论0 收藏0
  • JavaScript引擎

    摘要:由于这些是驱动的工具,因此它们由引擎提供支持。两个主要引擎是的和的引擎。然后,四个即时进程启动,分析并执行解析器生成的字节码。简单来说,这个引擎获取源代码,将其分解为字符串,获取这些字符串并将它们转换为编译器可以理解的字节码,然后执行它。 渲染引擎和JavaScript引擎 先从一张图片来理解下这两个引擎 showImg(https://segmentfault.com/img/bVb...

    马龙驹 评论0 收藏0
  • JavaScript引擎

    摘要:由于这些是驱动的工具,因此它们由引擎提供支持。两个主要引擎是的和的引擎。然后,四个即时进程启动,分析并执行解析器生成的字节码。简单来说,这个引擎获取源代码,将其分解为字符串,获取这些字符串并将它们转换为编译器可以理解的字节码,然后执行它。 渲染引擎和JavaScript引擎 先从一张图片来理解下这两个引擎 showImg(https://segmentfault.com/img/bVb...

    garfileo 评论0 收藏0

发表评论

0条评论

XFLY

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<