zoukankan      html  css  js  c++  java
  • 小米商城响应式学习

    淘宝的手机网页一直是我所向往的——通过rem做的真正的响应式,但是总感觉更原先在pc上的做法大相径庭,也许是我理解不到。周末无意中发现小米的手机网页也是用em方式写的,看源码发现这正是我所追求的响应式wap网页。记录学习之~

    网址:http://m.mi.com

    基础设置


    1. a标签去点击背景蓝色-webkit-tap-highlight-color: rgba(0,0,0,0);
    2. 禁用Webkit内核浏览器的文字大小调整功能-webkit-text-size-adjust: none;
    3. 允许长单词换行到下一行word-wrap:break-word;

    元素单位(em)


    1. 包括:paddingmarginwidthheightfont-sizeline-height

    2. 通过全局的body设置基准字号

      body {
          font-size: 20px;
      }
      @media only screen and (max- 710px) and (min- 640px)
      body {
          font-size: 17.77778px;
      }
      

    iconFont


    1. 全局样式设置

      @font-face {
          font-family: iconfont;
          src: url(/static/fonts/iconfont_2337a86.eot?9owfml);
          src: url(/static/fonts/iconfont_2337a86.eot?#iefix9owfml) format("embedded-opentype"),url(/static/fonts/iconfont_53935e1.woff?9owfml) format("woff"),url(/static/fonts/iconfont_bfbfeef.ttf?9owfml) format("truetype"),url(/static/fonts/iconfont_7a400bd.svg?9owfml#icomoon) format("svg");
          font-weight: 400;
          font-style: normal
      }
      [class^=icon-], [class*=" icon-"], .iconfont {
          font-family: iconfont!important;
          speak: none;
          font-style: normal;
          font-weight: 400;
          font-variant: normal;
          text-transform: none;
          line-height: 1;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
      }
      
    2. 增加iconfont元素

      .page-index .nav-index li a .icon:before {
          font-size: 4em;
          color: #5c6066;
          line-height: 1.375em;
      }
      
      .icon-huafeichongzhi:before {
          content: "e608";
      }
      
    3. 其它设置

      .page-index .nav-index li a .icon {
          display: block;
          margin: 0 auto .5em;
           5em;
          height: 5em;
          -webkit-background-size: 5em 5em;
          -moz-background-size: 5em 5em;
          -ms-background-size: 5em 5em;
          -o-background-size: 5em 5em;
          background-size: 5em 5em;
      }
      

    布局


    1. display: table;display: table-row;display: table-cell;border-collapse: collapse;display: box;box-flex: 1;代替float:left布局

    2. 利用:first-child等伪类进行差异处理

    3. 图片基于父级的em宽高自适应

      .imgurl img {
           100%;
      }
      li, img, label, input {
          vertical-align: middle;
      }
      
    4. 背景图大小通过background-size: 3.85em 2.7em;设置

    5. 内容垂直居中和内容水平居中

      div#DemoArea {
          display: box;
          box-align: start;
          -moz-box-align: start;
          -webkit-box-align: start;
          box-align: start;
      }
      
      div#DemoArea {
          display: box;
          box-align: start;
          -moz-box-pack:center;
          -webkit-box-pack:center;
          box-pack:center;
      }
      

    总结反思


    1. 好多css3新技术应用进来让人耳目一新
    2. em作为单位还是rem更好操作些吧?
  • 相关阅读:
    Unity3d与Android交互
    A star 寻路
    网络协议
    数据驱动
    有限状态机(FSM)
    自己封装一个Log模块
    Unity5.x版本AssetBundle加载研究
    Unity5.x版本AssetBundle打包研究
    alidoing --使用JS实现多语言框架、喜欢的请进、、瓦特平台!
    使用代码生成器“代码工厂”快速生成B/S程序代码
  • 原文地址:https://www.cnblogs.com/xjchenhao/p/4163070.html
Copyright © 2011-2022 走看看