2012-10-10 2 views
0

최근 공개 사이트를 재 설계했지만 한 항목이 완전히 전달되지 않았습니다.IE7/IE8 호환 모드 특정 CSS

본 사이트의 특정 부분은 CSS의 최신 디스플레이 유형 중 일부를 사용합니다. 거의 모든 브라우저에서 정상적으로 보이지만 IE8의 호환 모드 나 IE7에서는 그렇지 않습니다.

오해의 소지가있는 항목이 IE7을 지원해야한다는 점을 제외하면 이는 문제가되지 않습니다.

따라서 초기 수정 (IE8을 표준 모드로 강제 적용)이 거부되었습니다.

현재 CSS 섹션을 재정의하기 위해 CSS를 개발 중입니다. 메인 스타일 시트 내에서 유지 보수상의 이유로 CSS 해킹을 사용하지 않기 위해 이것을 별도의 CSS 파일로하고 싶습니다.

제 생각에는 IE의 조건부 주석을 사용하여 IE7 이하 버전에만 포함 시키거나 포함시킬 수 있습니다. 조건문을 사용하면

<!-- if lte IE 7> 

이 또한 IE8의 호환 모드에 포함됩니까? 그렇지 않은 경우 IE 8 호환성을 구체적으로 타겟팅하려면 어떻게해야합니까?

+2

이 책을 읽었습니까? http://stackoverflow.com/questions/3140116/determine-if-in-ie8-compatibility-mode-using-conditionals – Andrew

+0

도움이 될 수 있습니다. http://stackoverflow.com/questions/10579753/conditional-comment-for- ie-9 호환 모드? – greener

+0

@andrewap : 아니요, 검색을하면서도 그 질문을 찾지 못했습니다. 그러나 새로운 기술에 대해 생각하게되었습니다 ... – Jeff

답변

2

적어도 IE9에서는 IE가 조건부 주석과 마찬가지로 IE7로 작동합니다. 예를 들어, 다음 코드 :

<!--[if IE 7]>IE7.<![endif]--> 
<!--[if IE 8]>IE8.<![endif]--> 
<!--[if IE 9]>IE9.<![endif]--> 

"IE7은"호환성보기 모드에서 작업 IE9에 표시된 위치 표시 줄의 오른쪽에있는 버튼을 통해 트리거됩니다.

업데이트 : IE8에서 테스트되었습니다. IE9와 동일하게 작동합니다.

+0

이것은 좋지만 IE 8 호환 모드에서는 도움이되지 않습니다. 어쨌든 응답 해 주셔서 감사합니다. – Jeff

+0

업데이트를 참조하십시오. IE8도 마찬가지입니다. –

+0

흥미 롭다 -이 지시문은 [이 질문] (http://stackoverflow.com/questions/3140116/determine-if-in-ie8-compatibility-mode-using-conditionals)에 대한 대답과 모순된다. – Jeff

관련 문제