興味深い現象が見つかりました。"document.createElement"がどのように "display"プロパティを表示するのですか?
ブラウザを開くdevToolをとし、F12と入力します。
var span=document.createElement("span");
document.defaultView.getComputedStyle(span).display;
Firefoxでは「ブロック」、Chromeでは""
を返します。 私が初めてこのケースに出会ったのはFirefoxだったし、その結果が "ブロック"だったことは驚きでした!しかし、document.body.appendChid(span)
の場合は問題ありませんでした。
私はMDNで検索しましたが、最後に収穫はありませんでした。document.defaultView.getComputedStyle
は、ブラウザのレンダリングエンジンの影響を受けていると思います。「表示」プロパティは、レンダリングエンジンによってDOMツリーにレンダリングされた後に設定されます。そして、gecko(Firefox)はデフォルト値を "ブロック"として与え、Webkit(Chrome)はそれを ""と設定します。
誰でも詳細な説明をすることができますか?
新しい 'タブ'、 'about:blank'で試しましたか? 'ドキュメント'のユーザエージェントスタイルは何ですか? – guest271314
@ guest271314あなたの答えをありがとう。 ユーザエージェントスタイルでのタグの表示はChromeでは何もないので、インラインであることを意味します。Firefoxでは「ブロック」ですが、 'display'は継承されたCSSプロパティではないので、どこから来たのかわかりません。 – PageYe