2010-03-29 3 views
1

.class1.class2 .class3 selector를 사용하고 있습니다. 여기서 .class1.class는 조합 선택자이고 .class3은 하위 클래스에 속합니다. FF로 잘 작동하지만 IE7에서는 작동하지 않습니다. 아래 CSS에서 두 번째 스타일은 항상 IE에 표시됩니다. 어떤 해결책?IE의 CSS 선택기

 
<STYLE type="text/css"> 
.test1.test2 .test3{ 
    width:90px; 
    height:100px; 
} 
.test4.test2 .test3{ 
    width:900px; 
    height:100px; 
} 
</style> 


<div class="test1 test2"> 
    <button value="test" class="test3"/> 
</div> 
+0

조합을 제외해야하는 경우가 아니면 부모가 작동하는 위치로 다시 정렬 할 수 있습니까? 아니면 '.test1 .test3' 선택기 또는'.test2. 테스트 3 '을 할 수 있습니다. 콤비네이션? –

+0

조합이 필요합니다 – user121196

답변

1

해당 스타일은 IE7 +에서 완벽하게 작동합니다. Pekka가 의견에서 말했다 : small problem with IE6가있다. 아마 당신이 엄격한 doctype을 사용하지 않고있는 것 같습니까?
는 경우에, 당신은 당신이 얻을 모든 자격 :

은 그냥 HTML 파일의 시작 부분에 <!doctype html>를 추가하고 모든 것이 잘되어야 -o.

+0

은 Nick이 질문을 오해 한 것 외에는 모두처럼 보입니다. 문제의 CSS는 .test1.test2 .test3 – user121196

+0

이 추가되었습니다. 하지만 IE7이 아닌 IE7을 이미 사용하고 있습니다. – user121196

+0

죄송합니다. 명확하지 않은 경우 죄송합니다. 엄격한 doctype은 IE7에서 작동하도록 만드는 것입니다. 당신의 첫 코멘트에서 당신이 의미하는 바를 잘 모름; CSS가 무엇인지 압니다. IE의 문제는 한 요소, 즉 .test1.test2 부분에 두 개의 클래스를 사용하고 있습니다. – DisgruntledGoat

0

사용 Conditional Comments가이 문제를 여기에 너무 많은 시간을 제기하고있다은 예입니다

<!--[if lte IE 9> 
<style type="text/css"> 
.test1,.test2,.test3{ 
    width:90px; 
    height:100px; 
} 
.test4,.test2,.test3{ 
    width:900px; 
    height:100px; 
} 
</style> 

<![endif]--> 

이 버전 9 이하이 스타일로 읽어가는 모든 IE 계열 브라우저를 의미하거나, #와 스타일을 사용하여 IE에서 읽을 수 있습니다.

<STYLE type="text/css"> 
.test1,.test2,.test3{ 
    #width:90px; 
    #height:100px; 
} 
.test4,.test2,.test3{ 
    #width:900px; 
    #height:100px; 
} 
</style> 
+0

하지만 왜? IE가 왜 처음부터 잘못 이해할 수 있었는지 나는 아직도 이해할 수 없다. –

+0

하지만 당신이 제공 한 예제는 조합이 아닙니다. 나는 .test1.test2를 조합으로, .test3은 자손에 속합니다. – user121196

4

그냥 알려주시면, 여러 클래스 메서드를 사용하고 있습니다! IE7 필요는이 양식을 사용하려면 솔루션

http://www.quirksmode.org/css/multipleclasses.html

희망이 도움말을 읽어이 당신이 그것을 해킹 할 수 suppurt하지 않는

div.class1.class2 div.class3 {} 

IE6을!