Je suis en utilisant Twitter Bootstrap sur un projet. Ainsi que le défaut de bootstrap styles j'ai aussi ajouté quelques-unes de mes propres
//My styles
@media (max-width: 767px)
{
//CSS here
}
Je suis également à l'aide de jQuery pour modifier l'ordre de certains éléments sur la page lorsque la largeur de la fenêtre d'affichage est moins que 767px.
$(document).load($(window).bind("resize", checkPosition));
function checkPosition()
{
if($(window).width() < 767)
{
$("#body-container .main-content").remove().insertBefore($("#body-container .left-sidebar"));
} else {
$("#body-container .main-content").remove().insertAfter($("#body-container .left-sidebar"));
}
}
Le problème que j'ai, c'est que la largeur calculée en $(window).width()
et la largeur calculée par le CSS ne semble pas être le même. Lors de l' $(window).width()
retours 767 le css calcule la largeur de la fenêtre d'affichage comme 751 il semble donc y avoir un 16px différents.
Personne ne sait quelle en est la cause et comment je pourrais résoudre le problème? Les gens ont suggéré que la largeur de la barre de défilement n'est pas pris en examen et l'utilisation de $(window).innerWidth() < 751
est le chemin à parcourir. Toutefois, idéalement, j'aimerais trouver une solution qui calcule la largeur de la barre de défilement et qui est compatible avec ma requête de média (e.g où les deux conditions sont à vérifier par rapport à la valeur 767). Parce que sûrement pas tous les navigateurs ont une barre de défilement largeur de 16px?