移动Web开发规范摘录

che_iblv 8年前
   <h2>字体设置</h2>    <p>使用无衬线字体</p>    <pre>  body {      font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;  }  </pre>    <p>iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica。中文字体设置为华文黑体STHeiTi。 需补充说明,华文黑体并不存在iOS的字体库中(http://support.apple.com/kb/HT5878), 但系统会自动将华文黑体 STHeiTi 兼容命中系统默认中文字体黑体-简或黑体-繁。</p>    <ul>     <li>Heiti SC Light 黑体-简 细体 (iOS 7后废弃)</li>     <li>Heiti SC Medium 黑体-简 中黑</li>     <li>Heiti TC Light 黑体-繁 细体</li>     <li>Heiti TC Medium 黑体-繁 中黑</li>    </ul>    <p>原生Android下中文字体与英文字体都选择默认的无衬线字体。</p>    <ul>     <li>4.0 之前版本英文字体原生 Android 使用的是 Droid Sans,中文字体原生 Android 会命中 Droid Sans Fallback</li>     <li>4.0 之后中英文字体都会使用原生 Android 新的 Roboto 字体</li>    </ul>    <p>其他第三方 Android 系统也一致选择默认的无衬线字体。</p>    <h2>基础交互</h2>    <p>设置全局的CSS样式,避免图中的长按弹出菜单与选中文本的行为。</p>    <pre>  a, img {      -webkit-touch-callout: none; /* 禁止长按链接与图片弹出菜单 */  }  html, body {      -webkit-user-select: none;   /* 禁止选中文本(如无文本选中需求,此为必选项) */      user-select: none;  }  </pre>    <h2>移动性能</h2>    <p>要考虑Android低端机与2G网络场景下性能!</p>    <p>发布前必要检查项:</p>    <ul>     <li>所有图片必须有进行过压缩</li>     <li>考虑适度的有损压缩,如转化为80%质量的jpg图片</li>     <li>考虑把大图切成多张小图,常见在banner图过大的场景</li>    </ul>    <p>加载性能优化, 达到打开足够快。</p>    <ul>     <li>数据离线化,考虑将数据缓存在 localStorage</li>     <li>初始请求资源数 < 4</li>     <li>图片使用CSS Sprites 或 DataURI</li>     <li>外链 CSS 中避免 @import 引入</li>     <li>考虑内嵌小型的静态资源内容</li>     <li>初始请求资源gzip后总体积<50kb</li>     <li>静态资源(HTML/CSS/JS/Image)是否优化压缩?</li>     <li>避免打包大型类库</li>     <li>确保接入层已开启Gzip压缩(考虑提升Gzip级别,使用CPU开销换取加载时间)</li>     <li>尽量使用CSS3代替图片</li>     <li>初始首屏之外的静态资源(JS/CSS)延迟加载</li>     <li>初始首屏之外的图片资源按需加载(判断可视区域)</li>     <li>单页面应用(SPA)考虑延迟加载非首屏业务模块</li>     <li>开启Keep-Alive链路复用</li>    </ul>    <p>运行性能优化, 达到操作足够流畅</p>    <ul>     <li>避免 iOS 300+ms 点击延时问题</li>     <li>缓存 DOM 选择与计算</li>     <li>避免触发页面重绘的操作</li>     <li>Debounce连续触发的事件(scroll / resize / touchmove等),避免高频繁触发执行</li>     <li>尽可能使用事件代理,避免批量绑定事件</li>     <li>使用CSS3动画代替JS动画</li>     <li>避免在低端机上使用大量CSS3渐变阴影效果,可考虑降级效果来提升流畅度</li>     <li>HTML结构层级保持足够简单</li>     <li>尽能少的使用CSS高级选择器与通配选择器</li>     <li>Keep it simple</li>    </ul>    <p> </p>    <p>来自: <a href="/misc/goto?guid=4959674266551400487" rel="nofollow">http://www.helloweba.com/view-blog-369.html</a></p>    <p> </p>