博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html5 移动端单页面布局
阅读量:5790 次
发布时间:2019-06-18

本文共 1825 字,大约阅读时间需要 6 分钟。

     移动端的web网页使用的是响应式设计,但一般我们看到的网站页面都是跳转刷新得到的,比如通过点击一个menu后进入到另一个页面
今天来说下是移动端的单页面的布局。单页面就是一切操作和布局都是在一个页面下进行 不需要页面跳转 ,再通俗的说就是类似于平常的选项卡
但是他又比选项卡要复杂一点 因为他是在手机端 并且当做是一个页面

单页面的作用以及优势:

    1.嵌套到native里实现app的混合开发
    2.数据量小的页面用单页面便于开发和维护
    3.无需跳转页面响应更快

Demo效果

扫描二维码 ,或直接用手机访问

代码实践

1 页面html结构

    
html5 移动端单页面布局

注:页面图片均来自dribbble

demo里面我用的全是图片静态展示 你可以添加自己的结构或动态程序

页面结构跟我们平常写的选项卡没什么区别,接下来我们用css装饰这个结构让他在手机上呈现出页面的效果

2 css

移动端的页面多数情况下用百分比或者媒体查询来设置页面的宽高度 这样会达到响应的效果

这里解释几点
1.-webkit-tap-highlight-color: rgba(0,0,0,0);也可以写成-webkit-tap-highlight-color: transparent; 去掉点击时高光显示 你也可以更改里面的参数 达到你想要的点击显示高光效果
2.-webkit-touch-callout: none; //长按页面时不触发系统菜单
3.-webkit-user-select: none; //长按无法选择文本 这个很有用 一般如果body里面没有添加这个属性的手机页面 当我们长按某段文字的时候就会出现选中这段文字弹出“复制,全选”等选项 但在webapp开发里 这个就显得很不友好 所以尤其是在webapp开发的时候 为了达到与native一样的真实效果 必须的添加
4.html,body{ width: 100%; height: 100%;} 这个是整个文档的初始化宽高度 后面的子级都是按照这个数据设置
5.main和子级的height都设置为auto 你也可以不用设 但如果你的页面是允许滚动的话最好还是要设一下
6.我们把menu使用固定定位到页面底部 你也可以把他定位在顶部 或任何你想定位的地方
7.menu 里面的tab我们使用的是百分比分配 因为有border-right所以不能很准确的分配多少 这个应该会有什么更精准的方法平均分配 待研究 (这个已解决 用css3的display:flex 可以实现平分的效果)

3 js

      引用的框架是zepto.js 目前移动开发比较流行的js框架 zepto的语法跟jquery是相通的 所以可以按照jquery的写法编写

  这里的点击menu事件不是使用click而是tap 这是zepto为移动端专门编写的一个点击方法 确切的说应该叫轻触 他比click的点击速度要快 使用的是touch事件 这个在默认的zepto里面是没有的 需要把touch这个模块儿添加进来才可使用tap

     这样一个移动端的单页面就完成了

     这是个比较简单的单页面

     根据这个思维还可以更灵活的编写一些动态的并且更绚丽的页面!

 

转载于:https://www.cnblogs.com/leinov/p/3983298.html

你可能感兴趣的文章
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
oracle备份与恢复--rman
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件
查看>>
Android BlueDroid(一):BlueDroid概述
查看>>
Java利用httpasyncclient进行异步HTTP请求
查看>>
宿舍局域网的应用
查看>>
html代码究竟什么用途
查看>>
Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)
查看>>
Python version 2.7 required, which was not foun...
查看>>
context:annotation-config vs component-scan
查看>>