【发布时间】:2017-03-19 15:11:04
【问题描述】:
我发现了一个有趣的现象,它在 Firefox 和 Chrome 中的表现不同。
用 F12 打开浏览器 devTool 并输入。
var span=document.createElement("span");
document.defaultView.getComputedStyle(span).display;
它在 Firefox 中返回“block”,在 Chrome 中返回 ""。
我第一次遇到这个案例是在 Firefox 中,结果是“阻止”让我感到惊讶!不过document.body.appendChid(span)的时候就ok了。
我在MDN上搜索,但最后没有任何收获。我猜document.defaultView.getComputedStyle是受浏览器渲染引擎的影响。“显示”属性是在渲染引擎渲染到DOM树之后设置的.and gecko(Firefox) 将默认值设置为“block”,而 webkit(Chrome) 将其设置为“”。
谁能给个更详细的解释?
【问题讨论】:
-
你试过新的
Tab,about:blank吗?document的用户代理样式是什么? -
@guest271314 感谢您的回答。 标签在用户代理样式中的显示在 Chrome 中什么都没有,这意味着它是“内联”的。但是在 Firefox 中它是“块”,但我不知道它来自哪里,因为
display不是继承的 css 属性。
标签: javascript html css dom browser