11
나는 다음과 같은 IE 조건부 주석 사용하고

: 이하 8
그러나 어떤 IE의 렌더링의 코드를 유지하기 위해이 위대한 작품을IE 조건부 주석 및 크롬/파이어 폭스

<!--[if gt IE 7]> 
Here is some code. 
<![endif]--> 

이도를 유지 크롬 및 Firefox에서 렌더링 코드

왜 이런 일이 발생했는지, IE 이외의 브라우저에서 렌더링 할 코드를 얻는 방법에 대한 아이디어가 있습니까?

답변

42

조건부 주석은 Microsoft IE 관련 규칙이며 모든 표준에 속하지 않습니다. 조건부 주석의 구조를 확인하는 경우 : 그 이름이 암시 하듯이

<!--[if gt IE 7]> 
Here is some code. 
<![endif]--> 

, 그것은 모든 단지 하나의 큰 주석 <!-- comment -->입니다. IE는 HTML 표준을 준수하지 않는 조건과 같은 주석을 확인합니다.

IE에서 렌더링되지 않는 코드를 만들려면 다른 브라우저에서 렌더링 않고, 사용 조건 다음
<!--[if !IE]> --> 
This will be rendered by anything but IE. 
<!-- <![endif]--> 

이 조건이 폐쇄 된 의견에 동봉하는 방법을 참조하십시오

? IE가 조건부를 검사하는 동안 일반 브라우저에서 렌더링되는 이유이며, endif까지 모든 것을 생략하기로 결정했습니다.

편집

다른 조건을 추가하고, 비 IE 브라우저의 코드를 렌더링 유지하려면, 다음과 같은 해결 방법을 사용할 수 있습니다 내가 코멘트를 열고 사용했다

<!--[if gt IE 7]> <!-- --> 
Here is some code for anything but IE 7 and below. 
<!-- <![endif]--> 

주 다시 IE에서 코드 앞에 -->을 렌더링하지 못하도록합니다. 다른 브라우저는 여전히 코멘트의 일부로 간주합니다.

+0

나는 IE 8과 IE 9에 대한 코드가 나타나기 전에 IE의 버전이 없기를 바란다. 또한 코드가 Chrome 및 Firefox에 표시되기를 바랍니다. – Baxter

+1

댓글을 닫는 한 모든 조건에 맞춰야한다고 생각합니다. – zebasz

+1

테스트를 거쳤지만 제대로 작동하지 않습니다. 해결 방법을 찾았으므로 편집하고 추가 할 것입니다. – zebasz

관련 문제