의견 : 점점 더 많은 사이트가 HTML5 태그를 사용하기 시작했지만 현재 상황은 많은 사람들이 여전히 IE6, IE7 및 IE8을 사용하고 있다는 것입니다. 모든 시청자가 정상적으로 액세스 할 수 있도록 다음 두 솔루션을 사용할 수 있습니다.
점점 더 많은 사이트가 HTML5 태그를 사용하기 시작했지만 현재 상황은 많은 사람들이 여전히 IE6, IE7 및 IE8을 사용하고 있다는 것입니다. 모든 시청자가 정상적으로 액세스 할 수 있도록 솔루션은 다음과 같습니다.1. 웹 사이트의 여러 템플릿 세트를 만들고 프로그램을 사용하여 사용자 에이전트를 판단하여 Youku와 같은 다른 브라우저 사용자에 대해 다른 페이지를 표시합니다.
2. JavaScript를 사용하여 HTML5를 지원하지 않는 브라우저에서 HTML 태그를 지원합니다.
IE를위한 더 나은 솔루션은 HTML5SHIV입니다. HTNL5SHIV는 주로 HTML5가 제안한 새로운 요소가 IE6-8에 의해 인식되지 않는다는 문제를 해결합니다. 이러한 새로운 요소는 부모 노드로 랩핑 할 수 없으며 CSS 스타일을 적용 할 수 없습니다. 알 수없는 요소에 CSS 스타일을 적용하려면 Document.CreateElement (ElementName)를 실행하여이를 달성 할 수 있습니다. html5shiv는이 원칙에 따라 만들어집니다.
html5shiv의 사용은 매우 간단합니다. IE9가 HTML5를 지원한다는 점을 고려하면 다음 코드 만 페이지 헤드에 추가하면됩니다.
<!-[LT IE 9 인 경우]-> <script src = ""> </script> <!-[endif]->
html5shiv 공식 웹 사이트 :
추가 사항은 다음과 같습니다.
물론 내 블로그를 포함하여. HTML5와 관련하여 IE를 언급해야합니다. Apple, Google, Opera 및 Mozilla와 같은 주류 브라우저 제조업체가 새로운 버전의 HTML 표준의 공식화 및 홍보에 적극적으로 참여했을 때 Microsoft는 HTML 5 사양을 혐오했습니다. 그러나 Microsoft는 최근 IE에서 HTML 5를 지원할 것이므로 IE8과 다음은 지금까지 HTML5 태그를 지원할 수 없다고 말했습니다. 그러나 SitePoint에서 IE가 HTML5를 지원하는 방법을 찾았습니다.
다음은 처리하기 전에 IE 8에 표시된 예입니다.
IE (IE6 포함)를 지원하려면 HTML5 요소를 지원하려면 다음 JavaScript를 HTML 헤더에 추가해야합니다. 이것은 간단한 문서입니다. CreateElement Declaration, 조건부 주석을 사용하여 IE의 객체에서 해당 노드를 생성합니다.
<!-[IF]>
<cript>
문서 .CreateElement ( "헤더");
문서 .CreateElement ( "바닥기");
문서 .CreateElement ( "Nav");
문서 .CreateElement ( "기사");
문서 .CreateElement ( "섹션");
</스크립트>
<! [endif]->
위의 코드를 추가 한 후 IE8에 표시된 효과는 다음과 같습니다.
itepoint 예제에서 노드를 생성하기위한 JavaScript 코드는 너무 부풀어 오른 것처럼 보이며 SmokMagazine에 제공된 코드는 더 간결한 것 같습니다.
데모는 다음과 같습니다
<!-[IF]>
<cript>
(function () {if (!/*@cc_on!@*/0) return; var e = "헤더, 바닥 글, nav, article, section".split ( ','), i = e.length;
</스크립트>
<! [endif]->
HTML5는 기본적으로 인라인 요소로 나타납니다. 이러한 요소를 배치 할 때는 다음 예제와 같이 CSS를 사용하여 수동으로 블록 요소로 변환해야합니다.
헤더, 바닥 글, nav, 섹션, 기사 {
디스플레이 : 블록;
}