HTML页面

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基本结构</title>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
<link rel="stylesheet" href="css/style.css"/>
</head>
<body>
<div class="container" id="container">
<header id="header">头部</header>
<section id="section">
<!--一级页面开始-->
<div id="tab1">第一页
<a href="#list1">点我跳向第一页的二级页面</a>
<!-- <a href="c.html">点我</a> -->
</div>
<div id="tab2">第二页
<a href="#list2">点我跳向第二页的二级页面</a>
</div>
<div id="tab3">第三页
<a href="#list3">点我跳向第三页的二级页面</a>
</div>
<div id="tab4">第四页
<a href="#list4">点我跳向第四页的二级页面</a>
</div>
<!--一级页面结束-->
<!--二级页面开始-->
<div id="list1">
我是第一页的二级页面的内容
<a href="#content1">点我跳向第一页的三级页面</a>
</div>
<div id="list2">
我是第二页的二级页面的内容
<a href="#content2">点我跳向第二页的三级页面</a>
</div>
<div id="list3">
我是第三页的二级页面的内容
<a href="#content3">点我跳向第三页的三级页面</a>
</div>
<div id="list4">
我是第四页的二级页面的内容
<a href="#content4">点我跳向第四页的三级页面</a>
</div>
<!--二级页面结束-->

<!--三级页面开始-->
<div id="content1">
我是第一页的三级页面的内容
</div>
<div id="content2">
我是第二页的三级页面的内容
</div>
<div id="content3">
我是第三页的三级页面的内容
</div>
<div id="content4">
我是第四页的三级页面的内容
</div>
<!--三级页面结束-->
</section>
<footer id="footer">
<nav>
<a href="#tab1">第一个</a>
<a href="#tab2">第二个</a>
<a href="#tab3">第三个</a>
<a href="#tab4">第四个</a>
</nav>
</footer>
</div>
<script src="js/zepto.js"></script>
<script src="js/index.js"></script>
</body>
</html>

JS文件

①index.js

$(function(){
$("#container").on("click","a[href]",function(e){
e.preventDefault();//取消a的默认行为 js阻止链接跳转
//获取点击的那个tab的id值
var id=$(this).attr("href");
//console.log(id);
$(id).css({
'-webkit-transform':'translate3d(0,0,0)',
'-webkit-transition':'transform 300ms' //设置动画时间
}).siblings().css({
//"left","100%"
'-webkit-transform':'translate3d(100%,0,0)',
'-webkit-transition':'transform 300ms' //设置动画时间
});
})
})

②引入zepto.min.js

CSS文件

@import "m_reset.css";

//封装的内容
.wh(@w,@h){width:@w; height:@h;}
.b(@b){background: @b;}
.lh(@lh){line-height: @lh;}
.r{position: relative;}
.a{position: absolute;}
.f{position: fixed;}
.box(@dir:vertical){
display: -webkit-box;
-webkit-box-orient:@dir;
-webkit-box-flex:1;
}

html{font-size: 62.5%;}
.container,html,body{.wh(100%,100%)}
.container{
.wh(100%,100%);
display:-webkit-box;//定义一个弹性盒
-webkit-box-orient:vertical;//将弹性盒设置为垂直
header{
.wh(100%,4rem);
.b(red);
//box-shadow: 0 1px 1px rbga(0,0,0,0.8);
text-align: center;
.lh(4rem);
color:#fff;
}
}
//主题部分
section{
-webkit-box-flex:1;
.wh(100%,100%);
//overflow:scroll;
overflow:hidden;
.r;
//text-align: center;
//-webkit-box-pack:center;
//-webkit-box-align:center;
&>div{
.wh(100%,100%);
.a;
.b(#f1f0f6);
//left:100%;
-webkit-transform:translate3d(100%,0,0);
//默认显示第一页
&:nth-child(1){
//left: 0;
-webkit-transform:translate3d(0,0,0);
}
}
}
footer{
.wh(100%,4rem);
.b(yellow);
nav{
//display: -webkit-box;
//height: 50px;
.box(horizontal);
a{
display: block;
-webkit-box-flex: 1;
text-align: center;
.lh(4rem);
color: black;
}
}
}

APP模板框架的更多相关文章

  1. 整合springboot(app后台框架搭建四)

    springboot可以说是为了适用SOA服务出现,一方面,极大的简便了配置,加速了开发速度:第二方面,也是一个嵌入式的web服务,通过jar包运行就是一个web服务: 还有提供了很多metric,i ...

  2. Framework7 – 赞!功能齐全的 iOS7 App 前端框架

    Framework7 是一个功能很全的 HTML 框架,用来构建 iOS7 应用程序. Framework7 允许您灵活搭建列表视图(表视图) .你可以让他们作为导航菜单,你可以在列表里面使用图标,输 ...

  3. App技术框架

    一.App技术框架的类型 图1 三种App技术框架之间的关系 目前App的技术框架基本分为三种(图1): (1)Native App:互动型,iOS.Android.WP各一套,而且要维护历史版本,要 ...

  4. 你得知道这3个最基础的APP技术框架

    出处:优设网作者:信籽链接:http://www.uisdc.com/3-basic-app-technical-framework 信籽(手淘设计师):不知道大家有没有遇到过这种情景,当你做好一个设 ...

  5. 一个超级简单的HTML模板框架源代码以及使用示例

    HTML模板框架源代码 var HtmlTemplate = (function () { function HtmlTemplate(htmlSource) { this.htmlSource = ...

  6. springmvc跨域+token验证(app后台框架搭建二)

    这是app后台框架搭建的第二课,主要针对app应用是跨域的运用,讲解怎么配置跨域服务:其次讲解怎么进行token验证,通过拦截器设置token验证和把token设置到http报文中.主要有如下:   ...

  7. 通过实例介绍Android App自动化测试框架--Unittest

    1.为什么需要使用框架实现自动化测试 作为测试工程师,可能在代码能力上相比开发工程师要弱一点,所以我们在写脚本的时候就会相对容易的碰到更多的问题,如果有一个成熟的框架供给我们使用的话,可以帮助我们避免 ...

  8. APP自动化框架LazyAndroid使用手册(2)--元素自动抓取

    作者:黄书力 概述 前面的一篇博文简要介绍了安卓自动化测试框架LazyAndroid的组成结构和基本功能,本文将详细描述此框架中元素自动抓取工具lazy-uiautomaterviewer的使用方法. ...

  9. Android特效专辑(四)——APP主页框架TabHost绑定ViewPager的替换者TabLayout

    Android特效专辑(四)--APP主页框架TabHost绑定ViewPager的替换者TabLayout 现在很多app都在追求简单明了,功能又要强大,不过我还是喜欢之前的app风格,就是TabH ...

随机推荐

  1. “git push”后返回“Error 403”解决方法

    问题描述: 1,mac ox系统,terminal上运行命令git push出现403错误: 2,代码是在别人的github(暂且叫origin branch吧)上克隆的,修改和添加了部分代码后欲提交 ...

  2. IE8下提示'console'未定义错误

    在开发的过程中由于调试的原因,在代码中加入console.info("xxxx"),而未进行删除 在IE8下测试该代码所在的页面报错,如下: 需要注意的是,使用console对象查 ...

  3. synchronized简介

    synchronized简介 Java提供了一种内置的锁机制来支持原子性:同步代码块(Synchronized Block).同步代码块包括两部分:一个作为锁对象的引用,一个作为由这个锁保护的代码块. ...

  4. in和exists哪个效率高本人测试证明

    in和exists哪个效率高本人测试证明 SQLSERVR语句 in和exists哪个效率高自己测试本人测试证明 最近很多人讨论in和exists哪个效率高,今天就自己测试一下 我使用的是客户的数据库 ...

  5. Oracle日志文件的管理与查看

    --Oracle日志文件管理与查看 select * from v$sql (#查看最近所作的操作) --select * fromv $sqlarea(#查看最近所作的操作) -- 1.查询系统使用 ...

  6. ASP.NET Web API的核心对象:HttpController

    ASP.NET Web API的核心对象:HttpController 对于ASP.NET Web API来说,所谓的Web API定义在继承自ApiController的类中,可能ApiContro ...

  7. IIS7中 ASP.NET授权功能如何实现对静态文件的控制

    IIS7中 ASP.NET授权功能如何实现对静态文件的控制 前序 .net提供了3种用户认证的方式,分别是Windows,Forms,Passport.这几种形式的定义可以在网站根目录下Web.con ...

  8. QuickSwitchSVNClient,快速完成SVN Switch的工具

    [开源]QuickSwitchSVNClient,快速完成SVN Switch的工具 在实际的开发中,我们一般使用SVN工具进行源代码的管理.在实际的产品开发中,根据项目的一些定制要求,往往需要对某一 ...

  9. 纯Python综合图像处理小工具(1)分通道直方图

    平时工作经常需要做些图像分析,需要给图像分通道,计算各个通道的直方图分布特点,这个事儿photoshop也能做,但是用起来不方便,且需要电脑上安装有PS软件,如果用OpenCV, 更是需要在visua ...

  10. 简单的理解deflate算法

    简单的理解deflate算法 最近做压缩算法. 用到了deflate压缩算法,  找了很多资料,  这篇文章算是讲的比较易懂的, 这篇文章不长,但却浅显易懂, 基本上涵盖了我想要知道的所有要点. 翻译 ...