Quelles sont les règles CSS media query se chevauchent?

Comment pouvons-nous espace media queries avec précision afin d'éviter les chevauchements?

Par exemple, si nous considérons le code:

@media (max-width: 20em) {
    /* for narrow viewport */
}

@media (min-width: 20em) and (max-width: 45em) {
    /* slightly wider viewport */
}

@media (min-width: 45em) {
    /* everything else */
}

Ce qui va se passer, à travers l'appui des navigateurs, à exactement 20em, et 45em?

J'ai vu des gens utiliser: des choses comme 799px et puis 800px, mais ce que sur un écran d'une largeur de 799.5 px? (Évidemment pas sur un affichage normal, mais une rétine une?)

Je suis plus curieux de connaître la réponse ici, compte tenu de la spec.

  • Votre question actuelle du titre ne semble pas correspondre à ce que vous demandez. Il semble que la première ligne de votre contenu de la question vaudrait mieux que le titre 🙂
  • merci, comme toujours — j'ai changé autour d'eux; mais comment avez-vous interpréter "espacement des requêtes de média"?
  • devinez @media (...) est inférieur ou égal, supérieur ou égal. vous feriez mieux d'utiliser de pixels max-width
  • Bonne question - je ne comprends pas très bien comprendre ce que tu veux dire par là, en fait. Le reste de la question, je comprends et je suis en train d'écrire une réponse.
  • pourquoi ne pas essayer vous-même jsfiddle.net/x2Lz8/2
  • ah, je peux voir pourquoi. Par manque d'un meilleur mot, j'ai été en utilisant 'espace' plus ou moins comme un antonyme de se "superposer"
  • Je suppose que si vous avait une largeur de exactement 20em, alors il faudrait d'abord appliquer la max-width: 20em définitions, puis d'appliquer également le min-width: 20em définitions.
  • mais vous avez ajouté un 10px écart entre chaque requête de média — évidemment, il n'aura aucun arrière-plan. Si vous avez illustré que mal (si pas prévu). Mais un chevauchement excessif pourrait aussi être mauvais.
  • du bon sens, mais que serait le spec dire? (Et ce que les différents navigateurs n'en réalité, c'est autre chose, je suis maintenant curieux de savoir.)
  • Qui est correct.
  • Je crois qu'il est juste en cascade le même que le général de déclarations CSS. Depuis une largeur de 20em satisfait à la fois les requêtes, les deux définitions de requête sont va être appliquée.

InformationsquelleAutor Baumr | 2012-11-05