前端优化方案-CSS 优化方案

前端优化方案-CSS 优化方案
关键词:优化,css
1.1 使用 CSS 优化工具
a) online CSS Optimizer ;
b) CSS Formatter and Optimizer 。
解决方案 :选取以上一个工具进行进行优化。

1.2 清理 CSS
在我们写样式的时候,页面的 CSS 在经历几个版本的修改之后,可能有些样式已经用不到了,或许将某些样式 更名了而原来的忘了删除,总之页面中可能存在着一 些无用的样式。这些无用的浪费了一些服务器空间和带宽消耗,也会增大我们的维护成本。
a) Dust-Me selector ;
b) Page Speed ;
c) CSS Redundancy Checker ;
d) IntelliJ IDEA ;
e) Expression Web 。
解决方案 :选取以上一个工具进行 CSS 清理。

1.3 在浏览器支持的情况下尽量使用 CSS 选择器
避免为每一个标签都定义 class 。
解决方案 :重构 CSS ,去除不必要的 class 。

1.4 减少 CSS hack 的使用
a) 尽量把浏览器默认值不相同的元素定义出来;
b) 注意 padding , margin , border 在 width 和 height 中的大小计算;
c) 注意 IE 中最小高度和 img 的使用。
解决方案 :删除不必要的 CSS hack ,然后进行细节修改。

1.5 避免使用内联引用和内部引用,尽量使用外部引用
a) 网页处理速度会更快一些,尤其在有很多网页共用一份 CSS 样式表时;
b) 看上去更加专业,整个网站的配色、细节等做到完全统一,具有一致性,避免内联的像素、色彩等偏差;
c) 方便维护。只要修改一个 CSS 文件,不管你有多少个网页文件,都会以你最新修改的版本为标准,不必进行散弹式修改。
解决方案 :把内联引用和内部引用的 CSS 进行抽取、提出放到外部 CSS 文件中,使用外联引用。

1.6浏览器兼容
支持主流浏览器: Firefox , IE6 , IE7 , IE8 ;逐步支持 Chrome , Opera , Safari 。
解决方案 :在不同浏览器上进行测试,然后逐一修复。

1.7 元素合并
类似
( background-image: url(/oaweb/img/common/333.png); background-repeat: repeat-y; background-position: 0px 0px; )
可合并为( background : url(/oaweb/img/common/333.png) repeat-y 0 0; )。
解决方案 :有此类问题的地方进行合并。

1.8规范命名
a)id 和 class 命名采用该内容的英文单词或组合命名,并第一个单词小写,第二个单词首个字母大写,如 :newRelease (最新产品 /new+Release) ;
b) 添加注释;
c) 常用命名规范(参见附件 1 )。
解决方案 :发现不符合要求的进行修改;没有注释或注释不详、不清的地方进行添加或补充、修改。

1.9 抽取出一些常用的 CSS
对于标签可使用 class 组合,不需要把 float:right; 类似这样常用的样式写到一组定义的 CSS 中。
解决方案 :定义一些常用的 CSS ,在样式中去除含有这些常用样式的 style ;最后在用到该样式的标签中加上定义好的被删除的常用样式的 class 。

1.10 注意 class 和 id 的异同,不要滥用
id 是用来进行唯一标示,作为网站中的样式,每个页面样式需要具备一致性。因此,除特定原因外,样式尽量使用 class 。
解决方案 :查看不符合用 class 的标签,改为 id ;反之,改为 class 。

1.11 满足 SEO
OA 当然不需要此项,但是在 eCooe 体验中就在所难免了。
解决方案 :凭经验可适当修改,但毕竟不是这行的专家,可买本书来研究研究。

扫描二维码关注公众号,回复: 5922659 查看本文章

1.12 恰当的使用 CSS Sprite
不要在每一处需要图片的地方都使用 CSS Sprite ,它的难维护性决定了只适用于做背景图的时候采用;对于图片,还是应该去使用 img 标签。
解决方案 :把使用了 CSS Sprite ,但不用做背景的地方改为 img 标签;反之改为使用 CSS Sprite 。

1.13 避免使用 expression 和 behavior
在页面渲染的过程中, expression 和 behavior 需要大量的计算,会大量地耗费客户端资源。所以不到迫不得已,请不要使用 expression 和 behavior 。
解决方案 :删除使用了 expression 和 behavior 的地方,改之使用 JavaScript 进行替代。

猜你喜欢

转载自blog.csdn.net/tt0317/article/details/89278579