2010-03-08 26 views
5

Aşağıdaki CSS, firefox altında çalışıyor ancak IE tarayıcısı altında çalışmıyor, Neden?
Ayrıca, yalnızca ana öğe altındaki öğelerin yalnızca CSS'den nasıl etkilenmesini sağlayabilirim?CSS alt seçicisi (>) IE ile çalışmıyor

CSS:

.box{font:24px;} 
.box>div{font:18px} 
.box>div>div{font:12px;} 

HTML:

<div class="box"> 
    level1 
    <div> 
     level2 
     <div> level3</div> 
     <div> level3</div> 
    </div> 
    <div> 
     level2 
     <div> level3</div> 
     <div> level3</div> 
    </div> 
</div> 

cevap

18

Internet Explorer sürüm 7 beri çocuk seçici (>) destekler, ancak yalnızca Standartlar modunda. a Doctype that triggers standards mode'u kullandığınızdan emin olun. Eğer IE6 hedefliyorsanız

o zaman şans dışında. JS'ye bağlı olmanız veya soyundan gelen seçicileri kullanmanız gerekir.

a>b { foo } 

çocuk seçici hiç IE6 tarafından ve yalnızca kısmen IE7 tarafından desteklenmeyen

a b { foo } 
a * b { reverse-of-foo } 
+1

Yeniden dirildiğim için özür dilerim, ama 'geri-foo' kısmı ile kayıp yaşıyorum: P – Baumr

+0

@Baumr 'a b' kuralı, alt-soyuna yönelik özellikleri beyan edecektir; 'a * b' kuralı, yukarıdaki kuralı aşan özellikleri beyan etmelidir. – Barney

-2

ben aradığınız şey hakkında yanlış olabilir ama bu sorununuzu çözecek nasıl:

.box {font:24px;} 
.box div {font:18px} 
.box div div {font:12px;} 

Bu ancak, örneğin iyi çalışır farkında olacağı başka .box ile varsa div içinde onlar da etkilenecektir.

İlgili konular