作者回复: 浏览器编写本身有不同的思路,但是按关键选择器这个思路,据我所知还没有实现。
作者回复: head中的css是要下载完的,body中放CSS的话,会重新计算。
作者回复: 我这里说的确实有点歧义,cssom是有rule部分和view部分的,rule部分是在dom开始之前就构件完成的,而view部分是跟着dom同步构建的。
作者回复: 意思是DOM树构造到父节点的时候,还不知道它有没有子节点,所以算不出来CSS。
作者回复: 其实Selector Level 4里面已经打破这个规则了,现在还是draft,也不知道最后能不能过。
要是真过了 webkit这块差不多得重写……
作者回复: 哈哈 CSSOM不是这样子的,CSSOM主要是DOM结构上的盒的描述,它基本上是依附于DOM树的。
你说的这个东西,比较接近的是CSS的语法树。
作者回复: 并不管有没有子元素,只是让这条规则前进一格。
作者回复: 哈哈,是这样的没错,但是你看,新加了这么多运算符,所以思路也会有不一样。
其实浏览器实现是比较懒的,直接每条规则都检查了,没做合并优化。
作者回复: Selector Level 3里的,不过不太重要,不用太在意。
作者回复: 不是分批的,也跟JS无关。