2012-10-04 40 views
1

爲什麼此代碼使兩個div都出現在面向橫向的iPad上?媒體查詢不按預期工作

/* CSS */ 

div{ 
    display:none; 
} 
@media screen and (min-width: 48em) { 
    /* IPAD PORTRAIT */ 
    body { 
     /* DARK BLUE */ 
    background-color:#006; 
    } 
    div{ 
    display:none; 
    } 
    #ipad-portrait{ 
    display:block; 
    } 
} 


@media screen and (min-width: 64em) { 
    /* IPAD LANDSCAPE */ 
    body{ 
     /*bright green*/ 
    background-color:#3f0; 
    } 


    /* an attempt to hide all divs before displaying 
    the one that says iPad landscape */ 
    div{ 
    display:none; 
    } 



    #ipad-landscape{ 
    display:block; 
    } 
} 



<!-- HTML --> 
<div id="ipad-landscape"> 
ipad landscape 
</div> 

    <div id="ipad-portrait"> 
ipad portrait 
</div> 

謝謝!

+0

嗯,我不知道,你可以使用'em'作爲測量與媒體查詢的形式。 'em'是相對於字體大小 - 真棒.. – potench

+1

@potench我從[本網站](http://jordanyoung.com/)解除了它。這是真的很出色 - – 1252748

回答

3

您的最小寬度重疊。寬度至少爲64em的設備最小寬度爲48em。你可能會想是這樣的:

@media screen and (min-width: 48em) and (max-width: 63.999em) { 
/* stuff */ 
} 
+0

但爲什麼,因爲風格是在向下移動表單的層疊中應用,我的@media屏幕和(最小寬度:64em){div {display:none;} ...'不行?謝謝! – 1252748

+1

因爲div不足以覆蓋第一個媒體查詢中的#ipad-portrait。查看更多關於css特異性的信息:http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/ – cimmanon

+0

很酷。謝謝您的幫助! – 1252748