1,从用户角度而言,优化可以让页面加载得更快、对用户的操做响应得更及时,可以给用户提供更为友好的体验。
2,从服务商角度而言,优化可以减小页面请求数、或者减少请求所占带宽,可以节省可观的源。css
前端的页面主要包括xhtml,css,js。其中xhtml就是现实中所谈到的内容,页面的内容:文字,图片,flash,视频等。html
tips:
XHTML与HTML之间的差别:html是一种基本的web网页设计语言,xhtml是一个基于XML的置标语言。
最主要的不一样:XHTML元素必须正确的被嵌套,元素必须关闭,标签必须小写,必须有根元素。前端
结构包括head和body两个部分,结构语义化主要是body中的标签。
head中其实包括了一些对于咱们seo颇有用的一些东西,好比title,Description,Keywords,设置缓存等一些其余的信息。
结构中尽可能不要出现style和onclick这样的内联的样式和事件,注意结构与表现、行为的分离。web
1. css sprite:若是网页中使用了大量背景图片,那么这些图片每一张都会发送一个http请求,能够使用css sprite来合并网页中的须要频繁加载的多个图片。对于合并以后的图片,咱们须要注意对它图片质量和大小的优化,图片越小加载速度越快。(建议使用PNG8格式的图片结合css sprite,一样的图片,PNG8格式会相对来比GIF小); 2. 不要在HTML中缩放图像(要不是图片太大谁会缩放啊); 3. favicon.ico (浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不一样的网站。)要小并且可缓存; 4. 懒加载
1. css sprite:若是网页中使用了大量背景图片,那么这些图片每一张都会发送一个http请求,能够使用css sprite来合并网页中的须要频繁加载的多个图片。对于合并以后的图片,咱们须要注意对它图片质量和大小的优化,图片越小加载速度越快。(建议使用PNG8格式的图片结合css sprite,一样的图片,PNG8格式会相对来比GIF小); 2. 不要在HTML中缩放图像(要不是图片太大谁会缩放啊); 3. favicon.ico (浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不一样的网站。)要小并且可缓存; 4. 懒加载
#box a{color:#f00}; //浏览器先遍历页面中全部的 a 元素,而后再找id为box的父元素。
#box a{color:#f00}; //浏览器先遍历页面中全部的 a 元素,而后再找id为box的父元素。
Google 资深web开发工程师 Steve Souders 对 CSS 选择器的执行效率从高到低作了一个排序:浏览器
1.id选择器(#myid)
2.类选择器(.myclassname)
3.标签选择器(div,h1,p)
4.相邻选择器(h1+p)
5.子选择器(ul < li)
6.后代选择器(li a)
7.通配符选择器(*)
8.属性选择器(a[rel="external"])
9.伪类选择器(a:hover, li:nth-child)缓存
根据以上「选择器匹配」与「选择器执行效率」原则,咱们能够经过避免不恰当的使用,提高 CSS 选择器性能。sass
.box *{color:#f00;}