我發現了一個有趣的現象,它在Firefox中的表現與Chrome不同。「document.createElement」如何工作以「顯示」屬性
打開你的瀏覽器devTool與F12並鍵入這個。
var span=document.createElement("span");
document.defaultView.getComputedStyle(span).display;
它在Firefox中返回「block」,在Chrome中返回""
。 我第一次遇到這個案例是在Firefox中,它讓我驚訝,結果是「塊」!但是,當document.body.appendChid(span)
,這是確定的。
我在MDN中搜索,但沒有收到任何收穫。我想document.defaultView.getComputedStyle
受瀏覽器渲染引擎的影響。「display」屬性在渲染引擎呈現給DOM樹之後設置。而壁虎(Firefox)給它一個默認值爲「block」,而webkit(Chrome)設置它爲「」。
任何人都可以給出更詳細的解釋嗎?
你試過新的'Tab','about:blank'嗎?什麼是'文檔'的用戶代理樣式? – guest271314
@ guest271314謝謝您的回答。 用戶代理樣式中的標籤顯示在Chrome中沒有任何意義,這意味着它是「內聯」的。但是在Firefox中它是「block」,但我不知道它來自哪裏,因爲display不是繼承的CSS屬性。 – PageYe