zoukankan      html  css  js  c++  java
  • 移动端开发 资源分享

    1. 移动端开发

    从零开始学习移动端Web开发

    手机分辨率和webapp分辨率的关系

    移动端适配之rem.js

    css适配不同分辨率屏幕

    移动WEBAPP开发常规CSS样式总结

    移动端页面开发的两种方式

    H5移动端常用标签总结

    html5的一些常用标签 

    微信页面开发

    2. 常用插件推荐

    移动端手势库Hammer.js学习

    2015年最全的移动WEB前端UI框架

    模板页面

    3. 例子

    <!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="UTF-8">
      <title>手机app通用模板爱旅游在线个人中心页面模板</title>
      <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" name="viewport" />
      <meta content="yes" name="apple-mobile-web-app-capable" />
      <meta content="black" name="apple-mobile-web-app-status-bar-style" />
      <meta content="telephone=no" name="format-detection" />
      <link href="http://www.17sucai.com/preview/1527619/2019-02-28/noun/css/style.css" rel="stylesheet" type="text/css" />
    </head>
    
    <body>
    
      <!--
    
             * 17素材vip建站专区模块代码
             * 详尽信息请看官网:http://www.17sucai.com/pins/vip
             *
             * Copyright , 温州易站网络科技有限公司版权所有
             *
             * 请尊重原创,未经允许请勿转载。
             * 在保留版权的前提下可应用于个人或商业用途
    
            -->
    
      <section class="aui-flexView">
    
        <section class="aui-scrollView">
          <div class="aui-head-noun">
            <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/head.png" alt="">
            <div class="aui-flex aui-flex-auto">
              <div class="aui-user-img">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/user-logo-004.png" alt="">
              </div>
              <div class="aui-flex-box">
                <h2>李嘉桦</h2>
              </div>
              <div class="aui-arrow-right">
                <h3>每日签到</h3>
              </div>
            </div>
          </div>
          <div class="aui-noun-vip">
            <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-vip.png" alt="">
          </div>
          <div class="aui-palace aui-palace-one">
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <h3>0</h3>
              </div>
              <div class="aui-palace-grid-text">
                <h2>优惠券</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <h3>1000</h3>
              </div>
              <div class="aui-palace-grid-text">
                <h2>积分</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <h3>190</h3>
              </div>
              <div class="aui-palace-grid-text">
                <h2>放假基金</h2>
              </div>
            </a>
          </div>
          <div class="aui-palace aui-palace-two">
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-001.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>全部订单</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-002.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>待付款</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-003.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>待出游</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-004.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>我的点评</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-005.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>我的收藏</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-006.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>消息</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-007.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>分享给好友</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-008.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>您的意见</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-009.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>客服热线</h2>
              </div>
            </a>
            <a href="javascript:;" class="aui-palace-grid">
              <div class="aui-palace-grid-icon">
                <img src="http://www.17sucai.com/preview/1527619/2019-02-28/noun/images/icon-item-010.png" alt="">
              </div>
              <div class="aui-palace-grid-text">
                <h2>更多</h2>
              </div>
            </a>
          </div>
          <div style="height:150px;"></div>
        </section>
        <footer class="aui-footer aui-footer-fixed">
          <a href="javascript:;" class="aui-tabBar-item">
            <span class="aui-tabBar-item-icon">
              <i class="icon icon-loan"></i>
            </span>
            <span class="aui-tabBar-item-text">度周末</span>
          </a>
          <a href="javascript:;" class="aui-tabBar-item">
            <span class="aui-tabBar-item-icon">
              <i class="icon icon-credit"></i>
            </span>
            <span class="aui-tabBar-item-text">目的地</span>
          </a>
          <a href="javascript:;" class="aui-tabBar-item ">
            <span class="aui-tabBar-item-icon">
              <i class="icon icon-meTo"></i>
            </span>
            <span class="aui-tabBar-item-text">定制</span>
          </a>
          <a href="javascript:;" class="aui-tabBar-item ">
            <span class="aui-tabBar-item-icon">
              <i class="icon icon-my"></i>
            </span>
            <span class="aui-tabBar-item-text">发现</span>
          </a>
          <a href="javascript:;" class="aui-tabBar-item aui-tabBar-item-active">
            <span class="aui-tabBar-item-icon">
              <i class="icon icon-me"></i>
            </span>
            <span class="aui-tabBar-item-text">我的</span>
          </a>
        </footer>
      </section>
    
    </body>
    
    </html>
    View Code

    3.1 简版

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <style>
        * {
          margin: 0;
          padding: 0;
        }
    
        /* footer */
        .wrap,
        .wrap .unit {
          box-sizing: border-box;
        }
    
        .wrap {
          position: fixed;
          bottom: 0;
          left: 0;
          padding: 2px 6px;
          display: flex;
          width: 100%;
          border: 1px solid red;
          font-size: 0.7rem;
        }
    
        .wrap .unit {
          flex: 1;
          display: flex;
          flex-direction: column;
          align-items: center;
          border: 1px solid red;
        }
        .wrap .unit span{
          color: #333;
        }
        .wrap .unit span:nth-child(1){
          color: #f00;
        }
        .wrap .unit span:nth-child(2){
          color: #0f0;
        }
        .wrap .unit span:nth-child(3){
          color: #00f;
        }
        .icon{
          display: block;
          width: 20px;
          height: 20px;      
          border: none;
          background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAA3CAIAAAAnuUURAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODJBRTIwRDEyOTI3MTFFOTk0MjhENTIzOTlDQjA2RUYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODJBRTIwRDIyOTI3MTFFOTk0MjhENTIzOTlDQjA2RUYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4MkFFMjBDRjI5MjcxMUU5OTQyOEQ1MjM5OUNCMDZFRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4MkFFMjBEMDI5MjcxMUU5OTQyOEQ1MjM5OUNCMDZFRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PihMWQkAAAgkSURBVHja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);
          background-size: 20px;
          background-position: center;
          background-repeat: no-repeat;
        }
        /* special */
        .one-col {
          height: 100%;
          display: flex;
          flex-direction: column;
          justify-content: center;
        }
    
        .one-half {
          height: 66.666%;
          display: flex;
          flex-direction: column;
          justify-content: center;
        }
    
        /* top */
        .top{
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          display: flex;
          padding: 2px 20px;
          box-sizing: border-box;
          border: 2px solid red;
        }
        .top .left,
        .top .center,
        .top .right{
          border: 1px solid red;
          box-sizing: border-box;
        }
        .top .left,
        .top .center{
          flex: 1;
        }
        .top .right{
          margin-right: -15px;
        }
    
      </style>
    </head>
    
    <body>
    
      <!-- top -->
      <div class="top">
        <div class="left">left</div>
        <div class="center">center</div>
        <div class="right">right</div>
      </div>
    
    
    
      <!-- footer -->
      <div class="wrap">
        <div class="unit">
          <span class="icon one-col">1</span>
        </div>
        <div class="unit">
          <span class="icon"></span>
          <span class="text">20</span>
        </div>
        <div class="unit">
          <span class="icon one-half"></span>
          <span class="text">21</span>
        </div>
        <div class="unit">
          <span class="text">22</span>
          <span class="icon one-half"></span>
        </div>
        <div class="unit">
          <span class="icon"></span>
          <span class="text">33</span>
          <span class="text">333</span>
        </div>
      </div>
    
    </body>
    
    </html>
    View Code

    4 扩展思路

    快速搭建响应式网站适配多终端,我一般选 bootstrap 或者 fundation ,当然可以借助其他比较好用的拖拽方式生成页面结构,比如菜鸟教程 UI 可视化 及其推荐的各大网站。

    附上两个 bootstrap 官网推荐的经典案例

    visualstudio.com

    redash

    当然,也可以重复造轮子的,不过特别慢,真的好慢。。主要是细节方面肯定是没有成熟框架做得好,但是代码是真的相当简洁喔

    html

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>web page</title>
        <link rel="stylesheet" href="css/reset.css" />
        <link rel="stylesheet" href="css/content.css" />
    
    </head>
    
    <body>
        <nav class="menu-wrap">
            <ul class="menu">
                <li class="item active">home</li>
                <li class="item">prpduct</li>
                <li class="item">about us</li>            
            </ul>
            <span class="close">X</span>
        </nav>
    
        <h1> hello menu </h1>
        <script src="js/index.js"></script>
    </body>
    
    </html>
    View Code

    index.js

    function $(s) {
        return document.querySelector(s)
    }
    
    $('.menu-wrap .close').onclick = function () {
        if(/show/ig.test($('.menu').className)){
            $('.menu').className='menu';
        }else{
            $('.menu').className='menu show';
        }
    }
    View Code

    reset.css

            /* reset */
            * {
                margin: 0;
                padding: 0;
                box-sizing: border-box;
            }
    
            ul,
            li {
                list-style: none;
            }
    View Code

    content.css 

        /* content */
        .menu-wrap {
          position: relative;
          width: 100%;
          height: 36px;
          line-height: 36px;
          font-size: 16px;
        }
    
        .menu {
          float: left;
        }
    
        .menu .item {
          float: left;
          margin-left: 30px;
          padding: 0 6px;
          cursor: pointer;
        }
    
        .menu .item.active {
          background-color: burlywood;
          color: purple;
          font-weight: bold;
        }
    
        .menu-wrap .close {
          display: none;
        }
    
        @media screen and (max-600px) {
          .menu-wrap .menu{
            max-height:36px;
            overflow: hidden;
          }
          .menu-wrap .menu.show{
            max-height:none;
          }
          .menu-wrap .close {
            display: block;
            position: absolute;
            top: 0;
            right: 10px;
            width: 30px;
    
            /* parent height % */
            height: 26px;
            /* parent width % */
            margin-top: 5px;
    
            line-height: 26px;
            border: 1px solid #ccc;
            text-align: center;
          }
    
          .menu {
            position: absolute;
            width: 100%;
            background-color: #ccc;
          }
    
          .menu .item {
            width: 100%;
            margin-left: 0;
          }
        }
    View Code

    另外附上一种行之有效的写法:  如果设计稿是 640 标准,这么用的话 手机自动缩放,挺好的

    <meta name="viewport" content="width=640,user-scalable=no" />
     

    5. 给力链接

    移动端,多屏幕尺寸高清屏retina屏适配的解决方案 

    淘宝 rem 布局 demo 

  • 相关阅读:
    【数位dp】Beautiful Numbers @2018acm上海大都会赛J
    【状压dp】Trie 树 @中山纪念中学20170304
    两个给点染色的问题-树上染色与图上染色
    【贪心】经营与开发 @upc_exam_5500
    【二分+拓扑排序】Milking Order @USACO 2018 US Open Contest, Gold/upc_exam_6348
    【并查集】Connectivity @ABC049&amp;ARC065/upcexam6492
    【倍增】T-shirt @2018acm徐州邀请赛 I
    Sparse Coding: Autoencoder Interpretation
    Sparse Coding
    Pooling
  • 原文地址:https://www.cnblogs.com/justSmile2/p/10491562.html
Copyright © 2011-2022 走看看