2012-05-08 3 views
1

내 사이트에서 IE7에 대한 지원을 제공해야합니다. 이제 IE7에서 스타일을 지정하는 것이 쉬운 일이 아니라는 것을 모두 알고 있습니다. HTML의 조건문을 사용하여 특정 버전의 IE에 대한 특정 스타일 시트를로드합니다. 그러나 필자의 경우 WebCenter Portal 응용 프로그램에 있기 때문에 그러한 조건문을 사용할 수 없습니다. 여기 피부를 사용해야합니다. CSS 파일이기도합니다.IE7 용 CSS 수정 수식

IE7에 대한 특정 CSS 속성 값을 지정할 수있는 수식이 있는지 알고 싶습니다.

.filterbox{ 
    padding:12px 0; 
    margin:12px 0 
} 

지금이 여백은 IE7을 제외한 모든 브라우저 (내가 IE < 7에서 테스트하지 않았다)에 대한 괜찮 :

내가 클래스가 말해봐. IE7에서는 margin:0;을 사용하면 스타일이 완벽하지만 다른 브라우저에서는 깨집니다.

어떻게이 여백을 IE7과 IE7이 아닌 동일한 CSS 클래스에서 지정할 수 있습니까?

감사합니다.

+0

에서

html>body #filterbox { *margin: 0; } 

당신은 HTML 파일을 편집 할 수 있습니까? 특히 ''요소는 무엇입니까? –

+0

@CodyGray HTML 파일이 없습니다. 내가 가지고있는 것은 .jsff, .jspx 파일이며 조건문은 여기서 작동하지 않습니다. 나는 CSS 파일에 대해서만 제어 할 수 있습니다. –

+0

@TapasBose 개발자/사용자에게 조건부 설명을 삽입 할 사람에게 알립니다. 더 나은 세상을 위해서. – kapa

답변

1

conditional comments을 실제로 사용할 수없는 경우에만이 해킹을 사용하십시오! IE 문제를 해결하기위한 최상의 솔루션입니다. 이와 같은 해킹은 CSS를 엉망으로 만들고 무효화합니다.

그래서, 여기에 IE7을 대상으로하는 해킹 (물론 이것은 일반적인 정의 뒤에 온다)입니다 : CSS hacks – Targetting IE7 on Thought-After

+0

대단히 감사합니다. –

0

는 IE7과 다른 브라우저의 스타일 시트를 분리해서 경우에 당신은 그것을 해결할 수 :

/* other browsers */ 
.filterbox{ 
padding:12px 0; 
margin:12px 0 
} 
/* IE 7 */ 
*:first-child+html .filterbox 
{ 
padding:12px 0; 
margin:0; 
} 

주의! 브라우저가 첫 번째 정의를 덮어 쓰기 때문에 마침내 스타일 7을 정의해야합니다. 다른 사람들은 마지막 것을 무시할 것입니다.