吐き気互換性の問題:完璧なソリューションIE(IE6 / IE7 / IE8)は、HTML5タグの問題と互換性がありません

すぐに豊かで柔軟なWebページを構築するためのHTML5セマンティックタグと属性、開発者が容易に明確なWebページのレイアウトを実装することができ、プラスCSS3のレンダリングの効果は、非常に簡単です。

<header>定义页面或区段的头部;
<footer>定义页面或区段的尾部;
<nav>定义页面或区段的导航区域;
<section>页面的逻辑区域或内容组合;
<article>定义正文或一篇完整的内容;
<aside>定义补充或相关内容;

彼らは、セマンティックコードの使用は、より直感的でより便利なSEOの最適化であることを確認してください。しかし、これはIE6 / IE7 / IE8で新しいラベルHTML5を認識しない、JavaScriptの処理が必要とされます。以下はいくつかの方法があります。

方法1:JavaScriptのコーディング

<!--[if lt IE 9]> 
<script> 
   (function() {
     if (! 
     /*@cc_on!@*/
     0) return;
     var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');
     var i= e.length;
     while (i--){
         document.createElement(e[i])
     } 
})() 
</script>
<![endif]-->

それはHTML5のタグは、このような非IEブラウザはコードを無視しますが作成されますIE9 IEブラウザよりも小さい場合は、不要なHTTPリクエストはないだろう。

第二の方法:Googleのhtml5shivパックを使用する(推奨)

<!--[if lt IE 9]> 
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<!--
这个内容是我附加的:
<script src="http://cdn.bootcss.com/html5shiv/r29/html5.min.js"></script>
主要是担心,如果这两个cdn失效了,可以相互替换试试
-->
<![endif]-->

HTML5のパフォーマンスは、インライン要素として、デフォルトでは、CSSでのこれらの要素は、レイアウトので、しかし、関係なく、上記のどの方法で、CSSは、私たちが手作業で便利なレイアウトブロック要素にそれらを配置する必要があり、新しいラベルを初期化する必要があります

/*html5*/
article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}

しかし、IE6 / 7/8無効にAのユーザスクリプトならば、それは、我々はそれを解決できるか?「ホワイトボード」ページのフリースタイルとなっ
我々はnoscript要素「/で識別入力するようにユーザーを導くFacebookのプラクティスを参照することができますか? _fb_noscript = 1「ページには、書き込みよりも互換性を維持するために、多くは、いくつかの軽量化の練習をハックHTML5 HTML4ラベルとラベルを交換してください。

<!--[if lte IE 8]> 
<noscript>
     <style>.html5-wrappers{display:none!important;}</style>
     <div class="ie-noscript-warning">您的浏览器禁用了脚本,请<a href="">查看这里</a>来启用脚本!或者<a href="/?noscript=1">继续访问</a>.
     </div>
</noscript>
<![endif]-->

これは、ユーザースクリプトを開く、またはHTML4のラベルデザインインタフェースに直接ジャンプを導くことができます。
:からの記事HTTP://www.cnblogs.com/Capric ...

おすすめ

転載: www.cnblogs.com/jlfw/p/12617371.html
おすすめ