Web浏览器引擎用什么来呈现html?

时间:2011-01-25 14:19:05

标签: api browser libraries

我一直在想:Web浏览器引擎(Gecko,WebKit ......)使用哪些库/ API来渲染图像,文本,按钮和图像。东西?

考虑一下,网页在操作系统中以相同的像素逐个渲染。然而,按钮,下拉列表和文本在大多数平台上看起来都是原生的。

1 个答案:

答案 0 :(得分:2)

主要是

Trident (IE and derivats)
Webkit (Safari, Chrome)
KHTML (KDE Konqueror) This was the base for webkit
Presto (Opera)

您可以在此处阅读更多内容:http://en.wikipedia.org/wiki/Web_browser_engine

这些引擎创建了HTML的对象结构然后使用Components来构建页面,浏览器引擎不是逐个像素地渲染,而是使用按钮,组合框,图像元素,其中所有这些都自我渲染到缓冲区然后那些图像缓冲区被折叠到屏幕上。

有些引擎使用平台自己的组件(Trident),其他引用自己的不同皮肤用于不同的平台。

对于实际渲染我知道IE使用Windows控件和Gecko,如你所指出的那样使用Cairo。

我认为webkit可能使用gtk或qt,但我不确定,对于opera我不知道,但我认为他们使用某种形式的框架或工具包。