background image

从事前端开发必须要了解的

CSS 

  

  从事

Web 前端开发的人都与 CSS 打交道很多,有的人也许不知道 CSS 是

怎么去工作的,写出来的

CSS 浏览器是怎么样去解析的呢?当这个成为我们提

CSS 水平的一个瓶颈时,是否应该多了解一下呢?

  一、浏览器的发展与

CSS

 

  网页浏览器主要通过

HTTP 

 

协议连接网页服务器而取得网页,

HTTP 容许

 

网页浏览器送交资料到网页服务器并且获取网页。目前最常用的

HTTP 是 

HTTP/1.1

 

,这个协议在

RFC2616 中被完整定义。HTTP/1.1 有其一套 

Internet Explorer 并不完全支援的标准,然而许多其他当代的网页浏览器则

 

完全支援这些标准。网页的位置以

URL(统一资源定位符)指示,此乃网页的

 

地址;以

http: 

 

开首的便是通过

HTTP 协议登陆。很多浏览器同时支援其他类

 

型的

URL 

 

及协议,例如

ftp:   

FTP(档案传送协议)、gopher:   

Gopher 

 

https:   

HTTPS(以 SSL 加密的 HTTP)。

  早期的网页浏览器只支援简易版本的

HTML。专属软件的浏览器的迅速发

 

展导致非标准的

HTML 

 

代码的产生。但随着

HTML 的成长,为了满足设计师

的要求,

HTML 获得了很多显示功能。随着这些功能的增加外来定义样式的语

言越来越没有意义了。
  

1994 年哈坤·

 

利提出了

CSS 的最初建议。伯特·波斯(BertBos)当时正

 

在设计一个叫做

Argo 的浏览器,他们决定一起合作设计 CSS。

 

  当时已经有过一些样式表语言的建议了,但

CSS 

是第一个含有 层叠 的

 

主意的。在

CSS 中,一个文件的样式可以从其他的样式表中继承下来。读者在

有些地方可以使用他自己更喜欢的样式,在其他地方则继承,或 层叠 作者的
样式

,

 

这种层叠的方式 使作者和读者都可以灵活地加入自己的设计,混合各人

的爱好。
  

1997 年初,W3C 

 

内组织了专门管

CSS 的工作组,其负责人是克里斯·里

雷。这个工作组开始讨论第一版中没有涉及到的问题,其结果是

1998 年 5 月

出版的第二版要求。到

2007 年为止,第三版还未完备。

  二、浏览器是如何渲染页面和加载页面
  为什么有些网站打开的时候会加载会很慢,而且是整个页面同时显示的,
而有些网站是从顶到下逐步显示出来的?要搞懂这个可以先从下面这个常规流
程开始:
  

1. 浏览器下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染

是同时进行的。
  

2. 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不

是说所有相关联的元素都已经下载完)。
  

3. 如果遇到语义解释性的标签嵌入文件(JS 脚本,CSS 样式),那么此时

IE 的下载过程会启用单独连接进行下载。
  

4. 并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。