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


相关推荐

  • 测试工程师的分类和发展方向有哪些_测试工程师就业前景

    测试工程师的分类和发展方向有哪些_测试工程师就业前景测试工程师的分类:1、功能测试工程师2、性能测试工程师3、安全测试工程师4、自动化测试工程师5、测试开发工程师6、高级测试开发工程师7、测试专家层次:第一层:1、功能测试,按需求检测

    2022年8月4日
    4
  • addslashes和stripslashes函数

    addslashes和stripslashes函数addslashes()函数返回在预定义字符之前添加反斜杠的字符串。预定义字符是:单引号(’)双引号(”)反斜杠(\)NULLecho”Who’sBillGates?<br>”;echoaddslashes(“Who’sBillGates?”)结果:Who’sBillGates?Who\’sBill…

    2022年10月21日
    2
  • python pip源更换国内镜像,速度加快10倍

    python pip源更换国内镜像,速度加快10倍python安装第三方模块,更换为国内的资源python的服务器是在国外的,所以我们pip安装pyqt5之类的模块时就很慢了下面就介绍了一些国内的阿里云http://mirrors.aliyun.com/pypi/simple/中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban)http://pypi.do…

    2022年8月29日
    5
  • 【Java集合 1】java集合有哪些

    【Java集合 1】java集合有哪些一、数组Array和集合的区别1、数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)2、JAVA集合可以存储和操作数目不固定的一组数据。3、若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。 注:使用相应的toArray()和Arrays.asList()方法可以相互转换。二、Java集合集合类存放于Java.util包中。集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是

    2022年7月7日
    23
  • 左下角悬浮广告代码_右下角浮动广告代码

    左下角悬浮广告代码_右下角浮动广告代码&lt;!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;htmlxmlns="http://www.w3.org/1999/xhtml"&gt;&lt;head&gt;..

    2022年9月19日
    3
  • python经典小程序:猜数字游戏[通俗易懂]

    python经典小程序:猜数字游戏[通俗易懂]#猜数字游戏importrandom#impor语句导入random模块guessor=0;print("#"*30)#输出30个”#“(”##############

    2022年7月6日
    22

发表回复

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

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