我想知道CSS是如何工作的..浏览器如何执行CSS中设计的内容...
比方说
当一个页面被加载并附加了多个CSS文件时,当鼠标移到某个锚点上并为其找到一个类集时,它将在所有CSS文件中搜索相关类,并读取其悬停状态,然后呈现它...
如何..它是如何工作的..。你可能已经猜到我想问什么了.
发布于 2010-11-14 20:03:34
这是一个异常广泛和复杂的问题。它本质上是在问,“浏览器是如何呈现页面的?”This video展示了Gecko在示例页面中是如何做到这一点的。看到渲染过程像这样崩溃,可能会让人感觉到它有多复杂。
最终,由于CSS规范没有给出实现方面的要求,甚至没有给出指导,所以每个浏览器(或者,我们应该说,“每个呈现引擎”)都会做不同的事情。如果你现在要从头开始编写一个新的浏览器,你将可以自由地探索任何你想要的算法。
通读每条规则并查看哪些规则匹配(对于每个元素)肯定是一个可行的起点,尽管几乎可以肯定的是,需要添加一些优化和缓存,以使其对于具有实际复杂性的样式表具有可接受的性能。
不过,幸运的是,目前使用的两个主要呈现引擎(Webkit和Gecko)都是开源的,您可以免费下载它们,探索代码,甚至进行更改。这真的是了解这些引擎如何在这种细节水平上工作的唯一途径。
发布于 2010-11-14 19:58:47
https://stackoverflow.com/questions/4179256
复制