2016-05-10 81 views
0

我正在與flex項目,所以我認爲這可能是爲什麼我的代碼是一個奇怪的行爲的問題。它應該執行後媒體查詢

我有.flexContainer類有max-width屬性。我調整窗口後,我想這max-width屬性更改爲更高的值,但如果我把我的媒體查詢爲:

@media screen and (max-width: 850px){ 
    .flexContainer{ 
     max-width: 60%; 
    } 
} 

元素的max-width835px而不是850px改變。

這裏是我的代碼:

HTML:

<div id="container"> 
    <div id="left" class="block">Left</div> 
    <div id="center" class="block"> 
    <div class="flexContainer"> 
     <div class="flexDiv"></div> 
    </div> 
    <div class="flexContainer"> 
     <div class="flexDiv"></div> 
    </div> 
    <div class="flexContainer"> 
     <div class="flexDiv"></div> 
    </div> 
    </div> 
    <div id="right" class="block">Right</div> 
</div> 

CSS:

html, body{ 
    width: 100%; 
    height: 100%; 
} 

#container{ 
    display: flex; 
    height: 100%; 
    background-color: blue; 
} 

.block{ 
    flex: 1; 
} 

#left{ 
    background-color: green; 
} 

#center{ 
    display: flex; 
    flex: 1; 
    flex-wrap: wrap; 
    align-content: flex-start; 
} 

#right{ 
    background-color: orange; 
} 

.flexContainer{ 
    flex: 1; 
    min-width: 100px; 
    max-width: 50%; 
    box-sizing: border-box; 
    height: 150px; 
    background-color: red; 
    padding: 10px; 
} 

.flexDiv{ 
    width: 100%; 
    height: 100%; 
    background-color: yellow; 
} 

@media screen and (max-width: 850px){ 
    .flexContainer{ 
     max-width: 60%; 
    } 
} 

JSFiddle中,你可以看到,在835px而不是max-width屬性更改850px

編輯:我添加兩個屏幕截圖,你可以看到它:

enter image description here

enter image description here

爲什麼應該後被執行的媒體查詢?

+1

它改變爲最大寬度:60%;在850px的小提琴上的iframe – Chizzle

+0

@Chizzle在我的情況下,它正在改變'835px'。此外,我在我的真實項目中遇到同樣的問題,所以我試圖在JSFiddle上簡化它。 –

+0

嘗試將'!important'放到最大寬度:850px –

回答

0

我在這裏發現我的問題。只是我不得不刪除body標籤的margin

我會嘗試重現我對我的真實項目(其中我已修復body標記)的影響,然後再次編輯問題。

編輯:它似乎是一個錯誤或類似Google Chrome因爲我不能再現錯誤。

,我漸漸的錯誤是,當我看着html標籤上我的Google Chrome檢查,它給了我錯誤的值的網頁(30像素左右少了,我沒有任何padding/margin周圍),所以我認爲媒體查詢正在屏幕的錯誤width中執行。

我知道這是一個「愚蠢」的解決方案,但當我關閉並重新打開Google Chrome時,它再次工作。現在它像正常行爲一樣工作。