2016-05-11 5 views
0

私は<main><article><aside><footer><header>、または<nav>要素を使用している場合はIE8を持つ人が私のページをロードしようとしたときに任意の悪い副作用があるでしょうか?新しいHTML5タグを使用すると、古いブラウザはどうなりますか?

+1

は[normalize.css](https://necolas.github.io/normalize.css/)彼らは右のスタイリングを得ることを確認するために、彼らはただ、他のdivのようになります含めます – Deryck

答えて

2

これらの新しい要素のいくつかは一般的なブロック要素と同じであるため、互換性の問題は発生しません。また、CSSルールをWebサイトに追加する必要があります関連する要素がブロック要素のように振る舞います。このように:

header, section, footer, aside, nav, main, article, figure { 
    display: block; 
} 

しかし、IE8と以前のバージョンのIEでは問題があります。要素の公式名簿に含まれていない要素はCSSでスタイル指定することはできません。つまり、存在しないかのように動作するため、ブロック要素のように動作させることも、フォーマットを与えることもできません。

幸運なことに、IEがこれらの新しい要素を認識してスタイルを設定できるようにする回避策が存在し、これらの新しい意味タグをフルに活用できます。それはHTML5Shivと呼ばれるツールです。

このトリックは、document.createElement("section")が突然IEにセクション要素を認識させることです。理由は分かりませんが、うまくいきます。

しかし、それらの要素のいずれかが使用される前に、あなたのウェブサイトでそれを早期に呼び出す必要があります。そうでない場合、機能しません。

0

あなたの質問に答えるには(旧式のブラウザとは何ですか?)、一部のブラウザは要素を無視します。一部の人はエラーとして扱います。いくつかはそれらを<div>として扱います。それはどこにでもあります。だからあなたは何かをする必要があり、レベルをブロックするようにそれらを設定することは、あなたがそれらのためにできる最善のことです。

Here's a longer review along with suggestions.

関連する問題