Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么';渲染树是否包含绝对定位的元素?_Javascript_Html_Css_Google Chrome_Browser - Fatal编程技术网

Javascript 为什么';渲染树是否包含绝对定位的元素?

Javascript 为什么';渲染树是否包含绝对定位的元素?,javascript,html,css,google-chrome,browser,Javascript,Html,Css,Google Chrome,Browser,我正在阅读有关渲染树的内容: 在构造DOM树时,浏览器将构造 另一棵树,渲染树。此树是中的视觉元素的集合 它们的显示顺序。它是视觉表现 该文件的附件渲染树不包含display:none, 定位绝对元素,头部。 最后一句话让我有点困惑。渲染树包含可见元素。所以,它应该包含绝对位置。浏览器如何呈现这些元素(显示:无,位置绝对元素,头部)?有人能更详细地解释一下吗 我不确定您在哪里阅读这些信息,但是位置:绝对元素(显然)被渲染 有两棵树:DOM和CSSOM。两者结合起来,生成构建我们看到的页面的呈现树

我正在阅读有关渲染树的内容:

在构造DOM树时,浏览器将构造 另一棵树,渲染树。此树是中的视觉元素的集合 它们的显示顺序。它是视觉表现 该文件的附件渲染树不包含
display:none
, 定位绝对元素,头部。

最后一句话让我有点困惑。渲染树包含可见元素。所以,它应该包含绝对位置。浏览器如何呈现这些元素(
显示:无
,位置绝对元素,头部)?有人能更详细地解释一下吗


我不确定您在哪里阅读这些信息,但是
位置:绝对
元素(显然)被渲染

有两棵树:DOM和CSSOM。两者结合起来,生成构建我们看到的页面的呈现树

根据谷歌开发者的说法,
display:none
不会渲染。但没有迹象表明
position:absolute
也不会呈现

文章中的几个要点:

  • CSSOM树和DOM树组合成一个渲染树,然后使用渲染树计算每个可见元素的布局,并作为 绘制过程的输入,用于将像素渲染到屏幕上。(强调矿山)

  • DOM树和CSSOM树组合在一起形成渲染树。呈现树仅包含呈现页面所需的节点

  • 第一步是浏览器将DOM和CSSOM组合成一个“渲染树”,捕获页面上所有可见的DOM内容, 加上每个节点的所有CSSOM样式信息。(强调矿山)

  • 要构造渲染树,浏览器大致执行以下操作:

    • 从DOM树的根开始,遍历每个可见节点

      • 有些节点根本不可见(例如,脚本标记、元标记等),由于它们没有反映在 渲染输出

      • 一些节点通过CSS隐藏,并且在渲染树中也被忽略-例如,上面示例中的span节点在渲染树中丢失 渲染树,因为我们有一个显式规则设置
        display:none
        它的财产

    • 对于每个可见节点,找到合适的匹配CSSOM规则并应用它们

    • 发射包含内容及其计算样式的可见节点

  • 最终输出是一个渲染,其中包含屏幕上所有可见内容的内容和样式信息。(强调我的)


请在此处阅读全文:

它们是否不存在,或者它们是否不可见/位于您不期望的位置。
display:none元素不会被渲染<代码>位置:绝对
元素独立于树的其余部分放置,因此可能会放入它们自己的树中,并在树的顶部绘制<代码>包含不被呈现的元数据。@Rooster它说,呈现树包含可见元素。所以,它应该包含绝对位置。您是否有该信息的链接引用?我只是想看看他们是否详细阐述了这一点。@Michael_B我想,你是对的。对于最后一行(绝对位置),我没有参考。我很久以前就看过了。