网页优化
网页优化
上一章介绍了从输入地址到到显示网页浏览器都干了什么,绝大部分的优化都在这个过程中
减少HTTP请求
减少HTTP请求是优化的重要手段
- 减少图片使用
- 对小图标这一类图片使用
CSS Sprite合并, 或者使用base64编码图片- 优点: 减少了请求
- 缺点: 修改维护不方便, 只使用于较小图标
- 使用缓存存储页面信息, 用户刷新/再次打开直接读取缓存
- 对于有很多图片的页面,对图片做懒加载
- 对
JS,CSS文件进行压缩,合并
缓存DNS
DNS缓存可以减少解析域名的时间
HTML/CSS/JS优化
- 删除不必要的空格和注释
- 使用语义化更好的HTML标签
- 保持正确的嵌套,
p标签中不要嵌套块级标签,a标签不要嵌套a标签,table中不要嵌套table - 尽量不要使用
iframe(要用的话使用JS动态添加 src属性) - 将
css,JS提取为外部文件,使用link引入而不是@import- link与@import区别
link是HTML标签,不存在兼容性问题,@import是css2提出的,在很低版本浏览器可能不兼容link会并行下载(href),@import在页面被加载完成后再加载link引入权重高于@import方式引入
- link与@import区别
css放头部,js放在尾部- js加载会阻塞页面的加载(页面只有等js执行完才会渲染)
- js在前面加载,如果要操作DOM元素可能会报错(DOM还未加载)
css选择器不宜超过3个- 过多的选择器会导致 css树加载变慢
- 保持良好的css书写顺序
display/position/float.. 等布局定位属性放在第一位width/height/margin/padding... 等自身属性放在第二位text/color/font/... 等文本属性放在第三位- 渐变/阴影/... 等其他属性放最后
- 使用ES6新规范来书写JS代码
渲染优化
- 能用CSS实现就不用JS
- 元素的位置移动不要用
left,top之类, 使用transform属性(触发硬件加速) - 减少
DOM操作 - 需要改变的样式很多时候, 使用css和className来添加类名而不是直接操作style属性
- 图片都要添加宽高,不要拉伸图片
- 在标签多的页面不要使用通配符
- 尽量少使用绝对定位
- 减少DOM回流
- 引发DOM回流的操作
- 添加或者删除可见DOM元素
- 元素位置,尺寸,内容发生改变
- 浏览器尺寸发生改变
- 引发DOM回流的操作
SEO优化
提高网页在搜索引擎中的排名
- 合理的
title,description,keyword - 语义化的HTML代码
- 重要内容放在前面,且不要用JS输出
- 非装饰性图片都要加上 alt属性
- 合适的H1
- 良好的外部链接
- 少用iframe

浙公网安备 33010602011771号