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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jmeter并发测试教程_jmeter高并发测试

    jmeter并发测试教程_jmeter高并发测试BeanShellSamplerBeanShellSampler我们添加一个beanshellsample,用java脚本将文件保存到本地注意:文件保存路径如果写成:C:\Users\feng\Desktop,会报错"TokenParsingError:Lexicalerror"正确格式:C:/Users/feng/De…

    2022年9月29日
    2
  • pycharm激活码2022年(JetBrains全家桶)

    (pycharm激活码2022年)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
    265
  • html5爱心代码_html爱心花瓣代码

    html5爱心代码_html爱心花瓣代码今天小颖给大家分享一个用CSS画的爱心,底下有代码和制作过程,希望对大家有所帮助。第一步:先画一个正方形。如图:css画桃心.heart-body{width:500px;margin:100pxauto;position:relative;}.heart-shape{position:relative;width:100px;height:100px;background-co…

    2022年10月11日
    3
  • com组件是什么东西_如何注册com组件

    com组件是什么东西_如何注册com组件COM编程——GUID和注册表2014年1月13日作者:果冻想1,129views暂无评论什么是GUID?做COM开发,就不得不去了解IID了,IID作为每一个接口的唯一标识符;我之前也有像下面这样定义一个IID://{2A06BBB3-667C-4D51-A8AD-F3CFDD7EF682}staticconstIIDIID_IX={0x

    2025年7月12日
    3
  • pycharm安装包报错

    pycharm安装包报错  相信有很多Python初学者在使用pycharm安装一些包时会遇到报错现象!  我也是一名Python初学者,当然也会遇到这种问题!当遇到上述问题时,我个人觉得是因为“pip”的版本问题,所以大家可以先更新“pip”(通过cmd更新:python-mpipinstall–upgradepip)。   …

    2022年5月16日
    43
  • KDD CUP99数据集预处理(Python实现)

    KDD CUP99数据集预处理(Python实现)目录KDDCUP99数据集预处理1、数据集下载2、KDD99网络入侵检测数据集介绍3、基于KDD99数据集的入侵检测分析4、符号型特征数值化5、KDDCUP99数据集预处理(Python实现)KDDCUP99数据集预处理1、数据集下载KDDCUP99数据集2、KDD99网络入侵检测数据集介绍介绍一介绍二3、基于KDD99数据集的入侵检测分…

    2022年10月16日
    2

发表回复

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

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