Firefox & Opera segue specifica W3C, che è quello di includere la larghezza della barra di scorrimento in Med ia query larghezza (il motivo potrebbe essere evitare il ciclo infinito come descritto in a comment here), mentre Webkit non lo fa (forse perché pensano che non abbia senso)
C'è una soluzione alternativa (l'ho provato solo su FF) , apparentemente se si forza la barra di scorrimento per essere sempre visibili, allora la larghezza sarà coerente con Webkit. Ecco il codice:
html
{
overflow:hidden;
height:100%;
}
body
{
position:relative;
overflow-y:scroll;
height:100%;
-webkit-overflow-scrolling:touch; /* So iOS Safari gets the inertia & rubber-band effect */
}
Se si desidera applicare questo per & FF Opera unica, si può ricorrere a hack CSS:
/* Firefox */
@-moz-document url-prefix()
{
html
{
overflow:hidden;
height:100%;
}
body
{
position:relative;
overflow-y:scroll;
height:100%;
/*-webkit-overflow-scrolling:touch;*/
}
}
/* Opera */
x:-o-prefocus, html
{
overflow:hidden;
height:100%;
}
x:-o-prefocus, body
{
position:relative;
overflow-y:scroll;
height:100%;
}
Va da sé, l'avvertimento è la barra di scorrimento sarà visibile in ogni momento, che potrebbe essere un buon compromesso.
+1 ho anche di fronte lo stesso problema – sandeep
avrei ucciso per una media query come '@media tutti e (max-width: calc (980px + scrollbar-larghezza))' – mm201