zoukankan      html  css  js  c++  java
  • 移动端重构——侧边栏导航

     demo1:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
    
        <!-- 开启对web app程序的支持 -->
        <meta name="apple-mobile-web-app-capable" content="yes">
        <!-- 全屏模式浏览 -->
        <meta name="apple-touch-fullscreen" content="yes">
        <!-- 改变Safari状态栏的外观 -->
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <!-- 禁止自动识别5位以上数字为电话 -->
        <meta name="format-detection" content="telephone=no">
        <!-- UC应用模式 -->
        <meta name="browsermode" content="application">
        <!-- QQ应用模式 -->
        <meta name="x5-page-mode" content="app">
        <title>移动端侧导航demo</title>
        <script src="http://www.w3cplus.com/mcommon/zepto.1.1.3.js"></script>
        <link rel="stylesheet" href="http://www.w3cplus.com/mcommon/reset.css" media="all">
        
    
    <style>
    .header,.footer,.wrap-page{
      position:absolute;
      left:0;
      right:0;
    }
    .header,.footer{
      height:44px;
      background-color: #fff;
      text-align: center;
      z-index:900;
      line-height:44px;
    }
    .header{
      top: 0;
      border-bottom: 1px solid #f00;
    }
    .footer{
      bottom: 0;
      border-top: 1px solid #f00;
    }
    .page-title{
      line-height:44px;
    }
    .fl{
      float:left;
    }
    .fr{
      float: right;
    }
    .btn-list{
      width: 44px;
      height: 44px;
      text-align: center;
      cursor: pointer;
    }
    .btn-list:before{
      content:"";
      width:20px;
      height: 2px;
      background-color: #ccc;
      display:inline-block;
      box-shadow: 0 7px 0 #ccc, 0 -7px 0 #ccc;
    }
    .wrap-page{
      top: 44px;
      bottom: 44px;
      overflow-y:auto;
      -webkit-overflow-scrolling: touch;
    }
    .page{
        position: relative;
        padding: 10px;
    }
    .page p{
        margin-bottom: 10px;
    }
    /* panel */
    .panel {
      position: absolute;
      top: -1px;
      bottom: -1px;
      left: 0;
      z-index: 980;
      width: 120px;
      background-color: #333;
      -webkit-transform: translate3d(-120px, 0, 0);
      transform: translate3d(-120px, 0, 0);
    }
    
    body.has-panel {
      -webkit-transition: -webkit-transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
    }
    body.panel-active{
      -webkit-transform: translate3d(120px, 0, 0);
      transform: translate3d(120px, 0, 0);  
      overflow-x:hidden;
    }
    
    .nav-aside {
      line-height: 40px;
    }
    .nav-aside li {
      border-bottom: 1px solid #222;
      color: #fff;
    }
    .nav-aside li a {
      color: #fff;
      padding: 0 5px;
      display: block;
    }
    .nav-aside li a:hover, .nav-aside li a:active, .nav-aside li a.active {
      background-color: #404040;
    }
    </style>
    </head>
    <body class="has-panel">
        <header id="header" class="header">
          <span id="panelSwitch" class="btn-list fl"></span>
          <h1 class="page-title">panel测试</h1>
        </header>
        <div id="main" class="wrap-page">
            <section class="page" id="wrap"><div class="page-inner">
                <p>君子曰:学不可以已。</p>
                <p>青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴(pù),不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。</p>
                <p>故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干、越、夷、貉之子,生而同声,长而异俗,教使之然也。诗曰:“嗟尔君子,无恒安息。靖共尔位,好是正直。神之听之,介尔景福。”神莫大于化道,福莫长于无祸。</p>
                <p>吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。</p>
                <p>君子曰:学不可以已。</p>
                <p>青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴(pù),不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。</p>
                <p>故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干、越、夷、貉之子,生而同声,长而异俗,教使之然也。诗曰:“嗟尔君子,无恒安息。靖共尔位,好是正直。神之听之,介尔景福。”神莫大于化道,福莫长于无祸。</p>
                <p>吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。</p>
                <p>君子曰:学不可以已。</p>
                <p>青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴(pù),不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。</p>
                <p>故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干、越、夷、貉之子,生而同声,长而异俗,教使之然也。诗曰:“嗟尔君子,无恒安息。靖共尔位,好是正直。神之听之,介尔景福。”神莫大于化道,福莫长于无祸。</p>
                <p>吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。</p>
            </div></section>
        </div>
        <footer class="footer">footer</footer>
        <section class="panel" id="panelNav">
            <ul class="nav-aside">
                <li><a href="#">Home</a></li>
                <li><a href="#">List</a></li>
                <li><a href="#">Demo</a></li>
                <li><a href="#">Download</a></li>
            </ul>
        </section>  
    <script>
    $(function(){
      var $body = $('body');
      function disableScroll(e) {
        e.preventDefault();
      }
      $('#panelSwitch').tap(function(){
        if($body.hasClass('panel-active')){
          $body.removeClass('panel-active');
          $body.off('touchmove', disableScroll);
        }else{
          $body.addClass('panel-active');
          $body.on('touchmove', disableScroll);
        }
      });
    });
    </script>
    </body>
    </html> 

    demo2-可以滚动的

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
    
        <!-- 开启对web app程序的支持 -->
        <meta name="apple-mobile-web-app-capable" content="yes">
        <!-- 全屏模式浏览 -->
        <meta name="apple-touch-fullscreen" content="yes">
        <!-- 改变Safari状态栏的外观 -->
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <!-- 禁止自动识别5位以上数字为电话 -->
        <meta name="format-detection" content="telephone=no">
        <!-- UC应用模式 -->
        <meta name="browsermode" content="application">
        <!-- QQ应用模式 -->
        <meta name="x5-page-mode" content="app">
        <title>移动端侧导航demo</title>
        <script src="http://www.w3cplus.com/mcommon/zepto.1.1.3.js"></script>
        <link rel="stylesheet" href="http://www.w3cplus.com/mcommon/reset.css" media="all">
        
    
    <style>
    .header,.footer,.wrap-page{
      position:absolute;
      left:0;
      right:0;
    }
    .header,.footer{
      height:44px;
      background-color: #fff;
      text-align: center;
      z-index:900;
      line-height:44px;
    }
    .header{
      top: 0;
      border-bottom: 1px solid #f00;
    }
    .footer{
      bottom: 0;
      border-top: 1px solid #f00;
    }
    .page-title{
      line-height:44px;
    }
    .fl{
      float:left;
    }
    .fr{
      float: right;
    }
    .btn-list{
      width: 44px;
      height: 44px;
      text-align: center;
      cursor: pointer;
    }
    .btn-list:before{
      content:"";
      width:20px;
      height: 2px;
      background-color: #ccc;
      display:inline-block;
      box-shadow: 0 7px 0 #ccc, 0 -7px 0 #ccc;
    }
    .wrap-page{
      top: 44px;
      bottom: 44px;
      overflow: hidden;
    }
    .page{
        position: relative;
        padding: 10px;
    }
    .page p{
        margin-bottom: 10px;
    }
    /* panel */
    .panel {
      position: absolute;
      top: -1px;
      bottom: -1px;
      left: 0;
      z-index: 980;
      width: 120px;
      background-color: #333;
      -webkit-transform: translate3d(-120px, 0, 0);
      transform: translate3d(-120px, 0, 0);
      -webkit-transition: -webkit-transform 0.3s ease-in-out;
      transition: transform 0.3s ease-in-out;
    }
    
    .panel.active {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    
    .nav-aside {
      line-height: 40px;
    }
    .nav-aside li {
      border-bottom: 1px solid #222;
      color: #fff;
    }
    .nav-aside li a {
      color: #fff;
      padding: 0 5px;
      display: block;
    }
    .nav-aside li a:hover, .nav-aside li a:active, .nav-aside li a.active {
      background-color: #404040;
    }
    </style>
    </head>
    <body>
        <header id="header" class="header fixed-top">
          <span id="panelSwitch" class="btn-list fr"></span>
          <h1 class="page-title">panel测试</h1>
        </header>
        <div id="main" class="wrap-page">
            <section class="page" id="wrap"><div class="page-inner">
                <p>君子曰:学不可以已。</p>
                <p>青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴(pù),不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。</p>
                <p>故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干、越、夷、貉之子,生而同声,长而异俗,教使之然也。诗曰:“嗟尔君子,无恒安息。靖共尔位,好是正直。神之听之,介尔景福。”神莫大于化道,福莫长于无祸。</p>
                <p>吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。</p>
                <p>君子曰:学不可以已。</p>
                <p>青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴(pù),不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。</p>
                <p>故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干、越、夷、貉之子,生而同声,长而异俗,教使之然也。诗曰:“嗟尔君子,无恒安息。靖共尔位,好是正直。神之听之,介尔景福。”神莫大于化道,福莫长于无祸。</p>
                <p>吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。</p>
                <p>君子曰:学不可以已。</p>
                <p>青,取之于蓝,而青于蓝;冰,水为之,而寒于水。木直中绳,輮以为轮,其曲中规。虽有槁暴(pù),不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。</p>
                <p>故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干、越、夷、貉之子,生而同声,长而异俗,教使之然也。诗曰:“嗟尔君子,无恒安息。靖共尔位,好是正直。神之听之,介尔景福。”神莫大于化道,福莫长于无祸。</p>
                <p>吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。</p>
            </div></section>
        </div>
        <footer class="footer">footer</footer>
        <section class="panel" id="panelNav">
            <ul class="nav-aside">
                <li><a href="#">Home</a></li>
                <li><a href="#">List</a></li>
                <li><a href="#">Demo</a></li>
                <li><a href="#">Download</a></li>
            </ul>
        </section>  
    <script>
    $(function(){
      var $panelNav = $('#panelNav');
      $('#panelSwitch').tap(function(){
        if($panelNav.hasClass('active')){
          $panelNav.removeClass('active');
        }else{
          $panelNav.addClass('active');
        }
      });
    });
    </script>
    </body>
    </html> 

    原链接:http://www.w3cplus.com/mobile/mobile-terminal-refactoring-sidebar-menu.html

  • 相关阅读:
    二进制包安装MySQL数据库
    Nginx 访问日志轮询切割
    安装Nginx服务
    生产环境常见的HTTP状态码列表
    SSH批量部署服务
    MYSQL数据库的优化
    inotify+rsync实现实时同步部署
    rsync同步架构
    Linux shell脚本编程(三)
    Linux shell脚本编程(二)
  • 原文地址:https://www.cnblogs.com/webfby/p/4441160.html
Copyright © 2011-2022 走看看