页面架构 4-5

4.页面优化

为什么优化:提升网页响应速度;对搜索引擎、屏幕阅读器友好;提升代码可读性,可维护性

页面优化的方法:

减少请求(图片合并,CSS 文件合并)

减少文件大小(减小图片大小,精简CSS,压缩CSS)

提升页面性能(调整文件加载顺序,精简选择器,避免消耗性能的属性,图片设置宽高,尽量用CSS实现)

提升代码可读性,可维护性(制定规范,语义化书写,避免Hack,模块化代码,注释)


减少请求

页面上每个资源(CSS,JS,图片)都需要通过向服务器请求来获取

从两方面减少请求

图片合并(图标合并)

减少CSS文件请求:合并CSS文件;少量CSS样式内联;避免使用import引入(每个import语句都会产生一个请求,而且请求是同步的,第一个请求完成后才能发送第二个请求)


减小文件大小

减小图片大小

选择合适的图片格式(PNG,JPG)

压缩图片(ImageOptim,ImageAlpha,JPEGmini)

减小CSS文件大小

CSS值缩写;省略值为零的单位;颜色值最短表示;CSS选择器合并(样式相同);文件压缩


提升页面性能

调整文件加载顺序:CSS 文件放在 head 中;JS 放在 body 底部

减少标签数量

选择器长度尽量短

避免使用耗性能属性(expression,filter,border-radius,box-shadow,gradients)

图片设置宽高(不缩放)

所有表现用 CSS 实现


可读性,可维护性

规范

语义化(标签,类名,id 名)

避免 Hack

模块化

注释


5.规范与模块化

规范

一个团队应该形成自己的一套团队规范

规范:文件规范   注释规范   命名规范   书写规范   其他规范

文件规范

文件分类:CSS文件分为通用类和业务类(文件的归档)

文件引入:外联引入,少量内联引入

文件本身:文件名由小写字母、数字和中划线组成,编码方式为 UTF-8

注释规范

块状注释:统一缩进,在被注释对象之上

单行注释:文字两端需要加空格,在被注释对象之上(避免汉字编码引起注释失败)

行内注释:文字两端需要空格,在分号之后注释

命名规范

分类命名:对于布局类样式以g-开头,内容类样式(模块)以m-开头

命名格式:小写,权衡长度与可读性

语义化命名:以内容语义化命名,如 .nav

书写规范

单行与多行:二选一

空格与分号:缩进(必须有)空格4个(或2个),属性与值之间空格(属性与属性之间空格);保留最后一个属性值的分号

属性顺序:显示属性,自身属性,文本属性和其他修饰

Hack方式:IE6属性以下划线开头,IE6/7以星号开头,不滥用Hack

值格式:color值统一为16进制;url()值统一为不加引号

其他规范

HTML规范:

文档声明:且首行顶格;

闭合:闭合标签需要闭合,自闭和标签加/;

属性:属性值用单引号引起来,表单元素属性可以省略的属性值省略;

层级:缩进4个空格体现层级,标签正确嵌套,不宜太深;

注释:布局前后加注释

大小写:标签,属性均小写

图片规范:

文件名称:语义,长度权衡

保留源文件

图片合并:尽可能使用sprite技术,sprite图片可按模块、业务、页面划分


模块化

一系列相关联的结构组成的整体;带有一定语义,而非表现

如何模块化

为模块分类命名(如m-,md-)

以一个主选择器开头(模块根节点,一个模块一个根节点,不能有兄弟节点)

使用以主选择器开头的后代选择器(模块选择器开头均为根节点的类名)

模块扩展

类似结构可以在模块根节点原有类名基础上,加一个带序号的原类名,作为扩展结构的根节点类名

原样式依然有效,新的变化在带序号的类名上重设

模块化好处

利于多人协同开发,相当于规范,防止样式污染

便于扩展和重用,提高效率

可读性,可维护性好

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,086评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,157评论 25 708
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 17,002评论 32 459
  • 尊敬老师、家长朋友们大家好! 我是2013届九班蔡智臻的家长,首先感谢蔡老师的邀请,让我很荣幸的能来参加你们的家...
    蔡老师YNWA阅读 1,005评论 0 0
  • 什么是观察者模式 观察者模式定义了对象间的一种一对多依赖关系,让多个观察者对象同时监听某一个对象,使得每当该对象的...
    陈炯阅读 445评论 0 0

友情链接更多精彩内容