Sym - 一个用 Java 实现的现代化社区平台 • 源码 • 注册

Pipe - 小而美的开源博客平台 • 体验 • 皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载 
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

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

Author: 李丽媛

Date: 2010/6/2

Email: lly219#gmail.com

1       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 体验中就在所难免了。

解决方案 :凭经验可适当修改,但毕竟不是这行的专家,可买本书来研究研究。

 

1.12  恰当的使用 CSS Sprite

不要在每一处需要图片的地方都使用 CSS Sprite ,它的难维护性决定了只适用于做背景图的时候采用;对于图片,还是应该去使用 img 标签。

解决方案 :把使用了 CSS Sprite ,但不用做背景的地方改为 img 标签;反之改为使用 CSS Sprite

 

1.13  避免使用 expression behavior

在页面渲染的过程中, expression behavior 需要大量的计算,会大量地耗费客户端资源。所以不到迫不得已,请不要使用 expression behavior

    解决方案 :删除使用了 expression behavior 的地方,改之使用 JavaScript 进行替代。

 

附件 1

内容

命名

内容

命名

模块

module.css

主题

themes.css

基本共用

base.css

专栏

columns.css

布局、版面

layout.css

表单

forms.css

文字

font.css

补丁

mend.css

打印

print.css

header

内容

content/container

/ 页脚

footer

导航

nav

侧栏

sidebar

栏目

column

页面外围控制整体布局宽度

wrapper

/ /

left/right/center

登录条

loginBar

标志

logo

广告

banner

页面主体

main

热点

hot

新闻

news

下载

download

子导航

subNav

菜单

menu

子菜单

submenu

搜索

search

友情链接

friendLink

版权

copyright

滚动

scroll

标签页

tab

文章列表

list

提示信息

msg

小技巧

tips

栏目标题

title

加入

joinUs

指南

guild

服务

service

注册

register

状态

status

投票

vote

合作伙伴

partner

12 号字体

font12

红色

red

浮动清除

clear

常见问题

faqs

缩略图

screenshot

最新产品

newsRelease

编辑评论

editorReview

关键词

keywords

论坛

forum

主导航

mainNav

主菜单

mainMenu

标签

tag

摘要

summary

商标

branding

法律声明

legal

网站信息

siteInfo

信誉

credits

 

 


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

推荐阅读
留下你的脚步