浏览器如何解析/渲染CSS?

时间:2011-04-09 13:40:09

标签: css browser frameworks

他们使用什么样的图形框架/技术来理解和绘制CSS指令?我问,因为我有兴趣编写使用CSS作为布局机制的软件。由于CSS是一个非常大的规范,编写自己的CSS并不难 css渲染器? (这就是为什么有这么多的浏览器差异吧?)

我找到了这个链接:How do browsers read and interpret CSS?

但它只说浏览器有自己的实现。所以他们只是让整个团队的人员都在关注CSS规范的更新,并尽可能快地实现它们?所以我不能在我自己的时间做到这一点?

3 个答案:

答案 0 :(得分:5)

重新实施所有这些将是完全彻底的疯狂!

只需使用基于HTML / CSS的东西,如webkit(也包含在Qt框架内)。不要再这样做了,你只会犯同样的错误......

如果您想分析webkit如何处理CSS,源代码是开放的。

http://www.webkit.org/

http://trac.webkit.org/browser/trunk/Source

答案 1 :(得分:2)

只是想添加一些额外的信息,这些信息可能对那些对该主题感兴趣并希望了解更多细节的人有价值:

How browsers work

根据有关解析部分的问题快速概述文档:

  1. 浏览器不解析/渲染CSS - 渲染引擎(a.k.a布局引擎,Web浏览器引擎)这样做。有一点不同。

  2. CSS可以通过无上下文语法定义。 CSS规范定义了CSS词法和语法语法(http://www.w3.org/TR/css3-syntax/)。因此, Flex Bison 等工具可以在创建CSS解析器时使用。

  3. 不同的渲染引擎(不是浏览器)以不同的方式处理CSS解析器的创建 - 一些使用工具作为Flex和Bison,其他人手动实现自己的解析器。

答案 2 :(得分:-2)

嗯,新的CSS规范并不经常出现,而且(几乎)每个浏览器都有自己的渲染引擎,它们都只是以自己的方式实现CSS,试图遵守标准。

CSS基本上偏离了标准属性。

如果愿意,每个元素都会被赋予cetrain属性或行为。 CSS允许您修改或添加它们。