zoukankan      html  css  js  c++  java
  • 前端优化方案(一)CSS 优化方案

    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

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Vanessa219/archive/2010/06/03/5644651.aspx

  • 相关阅读:
    NSDateFormatter格式详细列表一览
    Core Data could not fulfill a fault
    使用Devstack部署neutron网络节点
    配置基于Devstack的嵌套KVM虚拟化
    配置基于Devstack的嵌套KVM虚拟化
    Devstack单节点环境实战配置
    Devstack单节点环境实战配置
    Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程
    Openstack贡献者须知 2 — 社区工作运作 & 代码贡献流程
    Openstack 中的消息总线 & AMQP
  • 原文地址:https://www.cnblogs.com/terrylin/p/1752578.html
Copyright © 2011-2022 走看看