<main>
要素の幅をCSSで設定しようとしています。ちょうど<main>要素がInternet Explorer 11で動作しない
main {
width:200px;
}
は、Internet Explorerを除くすべてのブラウザで正常に動作します(Edgeは動作します)。
この例を見てみましょう:IE11でJSfiddle
結果:
結果をChromeで:
<main>
要素の幅をCSSで設定しようとしています。ちょうど<main>要素がInternet Explorer 11で動作しない
main {
width:200px;
}
は、Internet Explorerを除くすべてのブラウザで正常に動作します(Edgeは動作します)。
この例を見てみましょう:IE11でJSfiddle
結果:
結果をChromeで:
HTML5 main
要素ではありませんInternet Explorerでサポートされています(see browser support data)。
width
のブロックレベルの要素として、main
を定義する必要があります。 main
要素がInternet Explorerの–によって認識されないので、それはIEのデフォルトのスタイルシート、それはCSSの初期値を使用しています–(per the spec)で定義されていないという意味
main {
display: block; /* new */
width: 200px;
}
:
は、この調整を行います。display
プロパティの初期値はinline
です。
width
プロパティは、インライン要素では無視されます。スペックから:
10.3.1 Inline, non-replaced elements
width
プロパティは適用されません。著者スタイルでブロックレベル要素、width
プロパティが動作するようにmain
要素を定義することによって
。
詳細:
おかげで、これは動作します! IE11はこの単純なHTML5タグをサポートしていません。 –
upvoted、良い答えがうまく説明されています。 – Billy
@JensRenders他のすべてのブラウザでサポートされている新しい要素、CSSプロパティ、APIをサポートするにはIE年を要しますが、これは驚くことではなく、Edgeではあまり変わりません。 – Rob