html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」移动端的web网页使用的是响应式设计,但一般我们看到的网站页面都是跳转刷新得到的,比如通过点击一个menu后进入到另一个页面今天来说下是移动端的单页面的布局。单页面就是一切操作和布局都是在一个页面下进行不需要页面跳转,再通俗的说就是类似于平常的选项卡但是他又比选项卡要复杂一点因为他是在手机端并且当做是一个页面单页面的作用以及优势:1.嵌套到native里实现app的混合开发2.数据量小的页…

大家好,又见面了,我是你们的朋友全栈君。

移动端的web网页使用的是响应式设计,但一般我们看到的网站页面都是跳转刷新得到的,比如通过点击一个menu后进入到另一个页面

今天来说下是移动端的单页面的布局。单页面就是一切操作和布局都是在一个页面下进行 不需要页面跳转 ,再通俗的说就是类似于平常的选项卡

但是他又比选项卡要复杂一点 因为他是在手机端 并且当做是一个页面

单页面的作用以及优势:

1.嵌套到native里实现app的混合开发

2.数据量小的页面用单页面便于开发和维护

3.无需跳转页面响应更快

代码实践

1 页面html结构

复制代码

html5 移动端单页面布局

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

html5 移动端单页面,html5 移动端单页面布局「建议收藏」

  • Html5
  • Css3
  • Javascript
  • About

复制代码

注:页面图片均来自dribbble

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

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

2 css

复制代码

/*初始化css*/

*{ margin:0; padding: 0;}

li{ list-style-type: none;}

img{ max-width: 100%; display: block; margin: 0 auto 5px auto;}

html,body{ width: 100%; height: 100%; background: #e4e4e4;

-webkit-tap-highlight-color: rgba(88,44,22,0.9);

-webkit-touch-callout: none;

-webkit-user-select: none;

}

/*主体页面样式*/

.main{ width: 100%; height: auto; position: relative;}

.main section{ width: 100%; height: auto; position:absolute; left: 0; top:0; }

.main section.hide{ display: none;}

.main section.curr{ display: block;}

/*菜单样式*/

.menu{ width: 100%; height: 45px; position: fixed; bottom:0; left:0; box-shadow: #2d2d2d 0 0 4px;background:#0099cc;}

.menu.menucurr{ background: #ea4c88;}

.menu ul{width: 100%; height: 100%; }

.menu li{ width: 24.9%; height: 100%; float: left; line-height: 45px; text-align: center; background: #0099cc; color:#fff;}

.menu li.curr{ background: #ea4c88;}

.menu li:nth-child(1),.menu li:nth-child(2),.menu li:nth-child(3){ border-right:1px solid #663300;}

复制代码

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

这里解释几点

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所以不能很准确的分配多少 这个应该会有什么更精准的方法平均分配 待研究

3 js

复制代码

$(function(){

$(“.menu li”).each(function(index){

$(this).tap(function(){

$(this).addClass(“curr”).siblings().removeClass(“curr”);

$(“.main section”).eq(index).show().siblings().hide();

if(index==3){

$(“.menu”).addClass(“menucurr”);

}else{

$(“.menu”).removeClass(“menucurr”);

}

})

})

})

复制代码

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

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

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

这是个比较简单的单页面

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151997.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql 1142错误_mysql 1067错误

    mysql 1142错误_mysql 1067错误环境:CentOS7+mysql5.7在创建视图中,出现了1142报错信息,如下:报错原因:使用的mysql用户没有创建视图的权限解决:赋予该用户权限,我这里使用的用户名是admin,1、通过root进入mysql执行一下语句mysql>grantallprivilegesonshop.*toadmin;QueryOK,0rowsaffected(0.00sec)mysql>flushprivileges;QueryOK,0rowsaf

    2022年10月1日
    0
  • java高级语言程序设计_高级程序设计语言包括

    java高级语言程序设计_高级程序设计语言包括Java程序设计(高级及专题)- XML

    2022年4月22日
    55
  • goland2021.07激活码【最新永久激活】[通俗易懂]

    (goland2021.07激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS3…

    2022年3月22日
    109
  • SCOPUS数据库_数据库的构成

    SCOPUS数据库_数据库的构成ScienceDirect数据库1.Elsevier简介荷兰Elsevier是全球最大的科学文献出版发行商,已有180多年的历史。其产品涵盖科学、技术和医学等各个领域,包括1800多种学术期刊(大

    2022年8月2日
    4
  • IDM下载百度网盘文件,获取百度网盘文件url地址,激活成功教程

    IDM下载百度网盘文件,获取百度网盘文件url地址,激活成功教程下面是谷歌插件,你用这个里面的谷歌进入百度网盘,会有一个显示百度网盘文件链接选项,复制这个链接到IDM就可以了。链接:https://pan.baidu.com/s/1B0C-VyWvf7xc5Y1kcpKr9g提取码:bn6q复制这段内容后打开百度网盘手机App,操作更方便哦网速只是比平常快一些,但并不能全速。…

    2022年6月25日
    137
  • pytest skipif_白盒测试用例

    pytest skipif_白盒测试用例前言pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能Skip和xfail:处理那些不会成功的测试用例你可以对那些在某些特定平台上不能运行的测试用

    2022年7月28日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号