`
bluedusk
  • 浏览: 270170 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

整理及优化CSS代码的7个原则

阅读更多

本文英文原文

 

作为网页设计师(前端工程师),你可能还记得曾经的那个网页大小建议:一个网页(包括HTML、CSS、Javacript、Flash和图片)尽量不要超过30KB的大小,随着互联网的日益庞大,网络带宽也在飞速发展,很多设计师已经不再考虑这条30KB的理想准则。随着越来越受欢迎的CSS布局和Javascript对网站用户体验的强化,使得这种现象越来越普遍,尤其是对于大型网站来说,仅仅一个CSS文件就已经超过了30KB的上限。

  但是即便如此,现在也有很多准则来帮助你在完成CSS布局后进行CSS代码的压缩和优化。CSS代码优化的目的并不仅仅是减少CSS文件的大小,它还能让你的CSS代码更有条理、更高效。在彬Go,你将会学到更多关于CSS代码优化的知识,这能帮你更熟悉CSS代码的规范性。熟悉这些概念还能让你成为更全面的网页设计师,从而写出更优化的CSS代码。

 

1.使用简写

  如果你现在还对简写一点都不了解,那你就又写落伍了,不过幸好,学起来并不是很难。使用简写是一种让代码减少的最简单方法。没有比现在更适合实践代码简写的时候了,还等什么,一起来看看吧。

  Margin、border、padding、background、font、list-style和outline 都是可以进行简写的属性。CSS简写就是不再使用不同的相类似属性的声明…

p { margin-top: 10px;
     margin-right: 20px;
     margin-bottom: 30px;
     margin-left: 40px; }

你可以把它们简写成这样:

p { margin: 10px 20px 30px 40px; }

浏览器可以通过不同数量的属性值来解释你定义的CSS代码,请看图解:

CSS优化-简写
上面的简写图解说明的是依据不同的属性值可以进行不同的缩写,这种方法同样适用于padding和Border-width属性。

Font的简写对于缩小代码量很有帮助,而且能让你少打很多字母; )

CSS优化-简写
Font简写的例子。注:如果没有定义某个属性值的话,将继承副级元素的定义或使用默认值。

 

如果你对以上简写方法已经了如指掌,你还可以看看以下两个简写教程(英文),也许会对你有所帮助:
1.CSS Shorthand Guide(CSS简写指导)
2.Efficient CSS with shorthand properties(高效CSS属性的简写)


2.避免使用Hack

CSS-代码优化
Jon Hick的博客 hicksdesign.co.uk/journal 使用浏览器条件性注释

  Hack是一个糟糕的东西,它会为不同浏览器定义一样的代码,使得CSS繁冗。现在我们知道使用条件性注释来代替hack,他们在IE6和IE7中是被认可的,甚至IE团队也推荐这样使用。使用条件性注释服务于符合浏览器特性专用的CSS代码,因此,更小的、核心的CSS代码用来服务于遵从标准的浏览器,只有需求条件出现的时候(比如IE),才会去下载额外的CSS文件!

下面来看看IE6使用条件性注释的代码范例:

<!–[if IE 6]>
       <link rel=”stylesheet” type=”text/css” href=”ie6.css” mce_href=”ie6.css”>
<![endif]–>

  这段代码使得IE6去下载额外的ie6.css解析它专用的css代码。同样的,如果针对IE7只用把上面的6与7替换就行了。


3.使用留白

  无论是为了自己阅读还是二次开发,都要让CSS保持良好的可读性,留白就充当了关键的角色。

  我们不鼓励你为了得到一个更小的CSS文件,就去掉所有的空白格式,如tab,换行,空格等。这里推荐嵌套的代码使用一个tab缩进,所有属性独立一行。

CSS-缩写

  对比上图中的两种CSS书写格式,哪一种格式能让你更加节约阅读和修改的时间呢?留白的效果显而易见,它会让你更容易管理代码。


4.移除多余的结构(frameworks)和重设(resets)

CSS-简写
Nathan Smith的 960 Grid System CSS framework使用的重置规则

  如果你选择使用CSS framework,包括你自己写的,如果你去检查代码一定会发现该framework包含的一些规则并不适用于你当前的文件,它们是可以被删除的。

  由此可以想到的还有reset,YUI Grid CSS使用的reset和Eric Meyer’s 重设(Reset) 目前都很流行, Resets能够移除不同浏览器的默认样式,使得页面在各个浏览器之间的表现一致。但是它们通常包含了一个大的网站需要的所有属性,一些例如<pre>,<code>,<sub>,<dfn>,<var>等等属性对于普通网站来说根本不会用上,删掉那些你用不上的。Eric Meyer也会鼓励你这样做!

  framework和reset会很好的帮助你的工作,但是如果不去掉那些你用不上的使用,反而会拖累你页面的效率和可读性。


5.让CSS能保证日后的维护


Doug Bowman的 stopdesign.com CSS 为层使用特殊的选择器

  另一种优化CSS代码的方法是按照你的习惯将CSS生命分成清晰的结构块。将CSS文件的声明用注释分隔开并进行排版,可以更方便自己在很长时间以后重新审理这个CSS文件,到那时你的效率会高出许多。

  然而,暴风彬彬更崇尚那种拆分布局风格,也就是给每种布局一个单独的CSS文件。Andy Clarke的《超越CSS》(Transcending CSS)一书也是提倡这种方法。


6.记录你的工作

CSS-优化
David Shea在他的网站mezzoblue.com中详细讲解了标记指导(markup guide).

  如果你是一个设计团队中的一员,那么让你的代码保持规则的一致性并能与其他成语建立良好的沟通是相当重要的,而且还要建立一种网站的标准。例如,团队中的某个成员想出了一个比较不错的网站标签切换界面,记录下来这些想法和注解会帮助团队的其他成员再次使用这种效果,这样能够避免HTML或 CSS代码的臃肿。

  记录工作主要包括标记向导(markup guides)和样式表向导(style sheet guides),这种工作并不仅仅适用于团队,也同样适用于一个人的设计工作(一个人的”团队”)。毕竟,在完整一个设计项目之后,经过一年甚至更长的时间,当你再回来看到这些曾经自己写的代码时,也一样会觉得很陌生。将来你会通过自己曾经的记录了解到在那些CSS结构是如何让网页表现的,或那个网页对表单按钮的起到副作用。

  记住,一定要养成为CSS写注释的习惯。


7.压缩使用

  为了使得浏览器节省更多下载个载入时间,压缩是一个不错的解决方案,但是仅限于发布的时候。YUI Compressor 和CSSTidy 就是这样方面的专家,他们能够去除多余的代码,校验属性互相覆盖的错误。
许多流行的编辑器,比如BBEdit, TextMate, 和 TopStyle 都能够帮助你格式化你的CSS代码成你想要的样子。你还能通过服务器压缩技术使用PHP处理你的CSS。你可以找到更多的CSS优化和压缩的CSS工具

  有一点,这些程序尽可能会降低错误的发生,但并不是完美的。同样,最好不要用他们去处理包含CSS hack的文件。这也是另一个让那些hack储存在另外的文件里的原因。


总结

  整理和优化代码不仅是为了你的CSS文件大小,还包括了维护性和可读性。以上的原理并不只是针对CSS,它们还能应用到HTML,Javascript以及其他编程语言。CSS文件不只是为了呈现给你网站的最终用户。上面的原理可以帮助用户体验以及开发者经验。运用这些原则到你未来的项目中,一定能够获得重大的成效

分享到:
评论

相关推荐

    高效率、简洁、CSS代码优化原则.docx

    在编写高效的CSS代码时,遵循一定的优化原则是至关重要的。这些原则不仅有助于提升代码的可读性和可维护性,还能提高网站的性能。以下是根据提供的文件内容整理的几个关键点: 1. **使用Reset但避免全局重置** CSS...

    CSS代码优化7个准则

    整理和优化代码不仅是为了你的CSS文件大小,还包括了维护性和可读性。以上的原理并不只是针对CSS,它们还能应用到HTML,Javascript以及其他编程语言。CSS文件不只是为了呈现给你网站的最终用户。上面的原理可以帮助...

    网站前端代码规范,新整理了一份HTML+CSS+IMG的规范,不含JS

    前端开发是构建网页和应用程序的重要部分,而良好的代码规范能够提高代码可读性,降低维护成本,提升团队协作效率。以下是一份关于HTML、CSS和图像处理的前端规范的详细说明: 1. HTML规范: - 结构清晰:HTML代码...

    2011最新整理div+css标准.pdf

    以下是对2011年整理的Div+CSS标准的详细解读: 一、全局样式设定 全局样式通常包括对基本元素的初始化,如body、列表、标题、图像、链接等,以消除浏览器的默认样式差异。例如: ```css body { margin:0 auto; font...

    css规范整理

    ### CSS规范整理——深入解析与应用 ...通过遵循这些规范,不仅可以提高CSS代码的质量,还可以增强团队协作的效率,确保项目的长期维护和扩展性。这些规范的实施是构建高质量、高性能和高可用性的Web应用的基础。

    如何优化网站HTML代码-.docx

    二、优化原则 1. 保持原有外观不变,优化不应影响用户体验。 2. 避免将整个页面放入一个表格(table),以减少加载时间。 3. 减少表格嵌套,过多的嵌套会延长加载时间。 4. 控制Flash和JavaScript的使用,避免过多...

    CSS样式表优化更整洁而简短

    CSS简写就是指将多行的CSS属性声明化成一行,又称为CSS代码...不过没关系,看过本文之后,你一能能掌握CSS代码优化的技巧,今后让你的每一个CSS样式表都看起来整洁而简短吧。 属性值为0 书写原则是如果CSS属性值为0,那

    柯林程序CSS分享

    本资源集合,"柯林程序CSS分享",显然是由一位名为柯林的开发者或设计师整理并分享的一系列CSS代码片段和实践,旨在帮助对柯林程序感兴趣的人提升他们的前端设计技能。 首先,CSS的核心概念是层叠,这意味着多个...

    美食网站源代码

    【美食网站源代码】是一个专为展示美食相关资讯和功能的网站开发的源代码集合,是互联网上搜集并整理的资源,供开发者下载和使用。这个源代码可能包含了一个完整的美食主题网站的所有必要组成部分,例如前端用户界面...

    前端面试题整理—性能优化及安全篇.docx

    "前端性能优化及安全篇" 本篇文章主要涵盖了前端开发中性能优化和安全相关的知识点,包括 web 语义化、SEO、会话跟踪、图像优化、Web 攻击技术、渐进增强、内存泄漏、从输⼊URL 到页⾯加载的过程、重绘和回流的优化...

    [CSS设计辅助工具][1]

    4. **代码格式化**:自动整理和格式化CSS代码,保持代码整洁规范。 5. **错误检查**:检测语法错误,避免因拼写错误或不符合标准的代码导致的问题。 6. **样式层叠查看**:清晰展示不同CSS规则之间的层叠关系,帮助...

    Web开发必备资料,里面有CSS、Javascript、颜色取样等很多有用工具

    此外,这个压缩包可能还包含一些实用工具,如代码编辑器设置、调试技巧、版本控制系统Git的使用、前端构建工具(如Webpack或Gulp)的介绍,以及性能优化和可访问性指南,这些都是Web开发者日常工作中不可或缺的部分...

    www.865171网站整理模板

    4. **代码优化**:对比自己的项目,找出可以优化的地方,例如减少CSS重复、提高JS性能、优化代码结构等。 5. **调试和修复问题**:如果遇到865171网站上的问题,这些源文件可以作为调试的依据,帮助找出并解决问题。...

    重构_改善既有代码的设计

    为了做到这一点,软件开发工程师需要关注几个关键方面,包括代码的可读性、模块化、简洁性、以及性能优化。 首先,代码的可读性是指其他开发者阅读并理解代码逻辑的能力。好的代码应该是自解释的,这意味着代码的...

    Web应用设计实践(HTML/JavaScript/CSS):班级网页-doc文档

    8. **课程设计流程**:从构思网站主题,收集资料,到设计网页布局,编写代码,再到测试和优化,最后整理文档,这个过程锻炼了学生的项目管理能力。合理安排时间,保证每个阶段的质量,是成功完成课程设计的关键。 9...

    2017前端面试题整理汇总

    这份"2017前端面试题整理汇总"旨在为求职者提供一个全面了解前端面试趋势和必备技能的平台。 1. **JavaScript** JavaScript是前端开发的核心语言,面试中通常会考察基础语法、函数、闭包、原型链、异步处理等方面...

    一个针织厂人事系统的源代码

    通过这个系统,针织厂能够有效整理和跟踪员工的各类信息,提升管理效率,降低运营成本。 二、源代码结构分析 1. 数据库设计:系统的核心是数据库,其中包含员工信息表、考勤记录表、薪酬表等。这些表的设计遵循...

    2024年Java最新学习路线,本文档整理了学习Java的七个阶段

    ### 2024年Java最新学习路线 ...通过以上七个阶段的学习,不仅能够全面掌握Java编程的基础知识和高级技术,还能培养良好的编程习惯和解决问题的能力,为成为一名优秀的Java开发人员打下坚实的基础。

Global site tag (gtag.js) - Google Analytics