2016-08-16 18 views
0

メディアクエリとブラウザズームに関しては、私は非常に奇妙な問題に遭遇しました。メディアクエリ+ブラウザズーム

私はChrome 52.0.2743.116 mを使用しています。

問題はこれです:

あなたが125%にブラウザのズームを使用してズームやタブレットがでキックすることになっているまで、ブラウザのサイズを変更する場合(最大幅:1024px)、どこ瞬間があるように思われますmax-width:1024pxまたはmin-width:1025pxのどちらも真です。

max-width:1024.9pxに変更すると動作します。

は、ここでは簡単な例です:

<div class="box"> 
    Text 
</div> 
<div class="box"> 
    Text 
</div> 
<div class="box"> 
    Text 
</div> 

とCSS:

@media (max-width:768px) { 
    .box { 
     background: blue; 
    } 
} 

@media (min-width: 769px) and (max-width: 1024px) { 
    .box { 
     background: red; 
    } 
} 

@media (min-width:1025px) { 
    .box { 
     background: green; 
    } 
} 

例:125%でhttp://codepen.io/tomusborne/pen/EyrNvG

ズーム、それが赤になるまで、その後ダウンサイズを変更します。ピクセル単位でサイズを変更すると、タブレットとデスクトップの間に1ピクセルの背景色がないことに気づくでしょう。

誰でもここで何が起こっているのか分かりますか?まともなソリューションを1024.9px使用していますか?私はちょうど夢中になっていますか? <html>要素を点検

+0

Chromeで問題を再現することはできません/ Win7。また、メディアのルールを単純化し、上書きをすることもできます - > https://jsfiddle.net/azizn/uhsjf4p7/ – Aziz

答えて

2

は答えを保持している:

screenshot

ので、ページ幅が実際1024pxより大きく1025px未満です。

min-widthmax-widthの両方にまったく同じ値を使用することをおすすめします。
これはギャップがないすべての幅をカバーします。衝突がある場合(つまり、ページが、正確には 1024pxの場合)、ドキュメントの後に表示されるルールが優先されます。

+0

これは機能します。これがより一般的な実装ではないのは奇妙なことです。私はこれを数週間検索してきましたが、誰もこの種の動作について言及していません。ご回答有難うございます! –

0

minまたはmaxを使用する必要はありません。あなたが任意の固定幅のために任意のCSSを適用したい場合、あなたは...以下のように @mediaだけ画面とメディアクエリを使用することができます(幅:1024px){ /* Your Styles */ }