字体设置
运用无衬线字体
body {
font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;
}
基本交互
设置全局的CSS款式,防止图中的长按弹出菜单与选中文本的行动
a, img {
-webkit-touch-callout: none; /* 制止长按链接与图片弹出菜单 */
}
html, body {
-webkit-user-select: none; /* 制止选中文本(如无文本选中需求,此为必选项) */
user-select: none;
}
挪动机能
要斟酌Android低端机与2G收集场景下机能 注重!
宣布前必要搜检项
一切图片必须有举行过紧缩
斟酌适度的有损紧缩,如转化为80%质量的jpg图片
斟酌把大图切成多张小图,罕见在banner图过大的场景
加载机能优化, 到达翻开充足快
数据离线化,斟酌将数据缓存在 localStorage
初始要求资本数 < 4 注重!
图片运用CSS Sprites 或 DataURI
外链 CSS 中防止 @import 引入
斟酌内嵌小型的静态资本内容
初始要求资本gzip后总体积 < 50kb
静态资本(HTML/CSS/JS/Image)是不是优化紧缩?
防止打包大型类库
确保接入层已开启Gzip紧缩(斟酌提拔Gzip级别,运用CPU开支调换加载时候) 注重!
只管运用CSS3替代图片
初始首屏以外的静态资本(JS/CSS)耽误加载 注重!
初始首屏以外的图片资本按需加载(推断可视地区) 注重!
单页面运用(SPA)斟酌耽误加载非首屏营业模块
开启Keep-Alive链路复用
运转机能优化, 到达操纵充足流通
防止 iOS 300+ms 点击延时题目 注重!
缓存 DOM 挑选与盘算
防止触发页面重绘的操纵
Debounce一连触发的事宜(scroll / resize / touchmove等),防止高频仍触发实行 注重!
只管运用事宜代办,防止批量绑定事宜
运用CSS3动画替代JS动画
防止在低端机上运用大批CSS3渐变暗影结果,可斟酌降级结果来提拔流通度
HTML构造层级坚持充足简朴
尽能少的运用CSS高等挑选器与通配挑选器
Keep it simple
在线机能检测评定东西运用指南
接见 Google PageSpeed 在线评定网站
在地点栏输入目的URL地点,点击剖析按钮最先检测
按 PageSpeed 剖析出的发起举行优化,优先处理赤色种别的题目
罕见Hack(不断更新…)
1.修正和去除挪动端点击事宜涌现的背景框
-webkit-tap-highlight-color: rgba(240,240,240,0.7);
//通明色为:rgba(0,0,0,0)
2.选中中文字的背景色
::selection { background:#FFF; color:#333; }
::-moz-selection { background:#FFF; color:#333; }
::-webkit-selection { background:#FFF; color:#333;}
3.怎样制止手机浏览器、微信浏览器的高低滑动显露黑色块题目
<script type='text/javascript'>
document.querySelector('body').addEventListener('touchstart', function (ev) {
event.preventDefault();
});
</script>
4.淘宝无线Web概述地点
5.挪动端viewport
width=750, target-densitydpi=high-dpi,minimum-scale=1.0, maximum-scale=2.0, user-scalable=0
//牢固宽度,费事
width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no,minimal-ui
//百分比
6.动态设置页面html,Font-size的值,方便运用rem
//为页面html动态设置font-size值
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = clientWidth / 7.5 + 'px';
//等价于clientWidth / 750 * 100 + 'px';
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);//resize
doc.addEventListener('DOMContentLoaded', recalc, false);//reload
})(document, window);
7.定义浏览器点击行动:
<a href="tel:020-10086">打电话给:020-10086</a>
<a href="sms:10086">发短信给: 10086</a>
<a href="mailto:me@22278.club">发送邮件: me@22278.club</a>
<meta name="format-detection" content="telephone=no"/>
content 内里的参数:telephone=no 是制止浏览器自动识别手机号码,email=no 是制止浏览器自动识别Email。
8.自定义苹果图标
在网站文件根目录放一个 apple-touch-icon.png 文件,苹果装备保留网站为书签或桌面快捷方式时,就会运用这个文件作为图标,文件尺寸发起为:180px × 180px。
9.css
body {
font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; /*运用无衬线字体*/
}
a, img {
-webkit-touch-callout: none; /*制止长按链接与图片弹出菜单*/
}
html, body {
-webkit-user-select: none; /*制止选中文本*/
user-select: none;
}
button,input,optgroup,select,textarea {
-webkit-appearance:none; /*去掉webkit默许的表单款式*/
}
a,button,input,optgroup,select,textarea {
-webkit-tap-highlight-color:rgba(0,0,0,0); /*去掉a、input和button点击时的蓝色外边框和灰色半通明背景*/
}
input::-webkit-input-placeholder {
color:#ccc; /*修正webkit中input的planceholder款式*/
}
input:focus::-webkit-input-placeholder {
color:#f00; /*修正webkit中focus状态下input的planceholder款式*/
}
body {
-webkit-text-size-adjust: 100%!important; /*制止IOS调解字体大小*/
}
input::-webkit-input-speech-button {
display: none; /*隐蔽Android的语音输入按钮*/
}
10.media query
@media screen and (max-width: 600px) {
//你的款式放在这里....
}
@media screen and (min-width: 900px) {
//你的款式放在这里...
}
@media screen and (min-width: 600px) and (max-width: 900px) {
//你的款式放在这里...
}
/* iPhone and Smartphones (portrait and landscape) */
@media screen and (min-device-width : 320px) and (max-device-width: 480px) {
//你的款式放在这里...
}
max-device-width指的是装备全部衬着区宽度(装备的现实宽度)
// Landscape phones and down
@media (max-width: 480px) { ... }
// Landscape phone to portrait tablet
@media (max-width: 768px) { ... }
// Portrait tablet to landscape and desktop
@media (min-width: 768px) and (max-width: 980px) { ... }
// Large desktop
@media (min-width: 1200px) { .. }