Estoy usando Twitter Bootstrap en un proyecto. Además de los estilos de arranque predeterminados, también he agregado algunos de los míos.
//My styles
@media (max-width: 767px)
{
//CSS here
}
También estoy usando jQuery para cambiar el orden de ciertos elementos en la página cuando el ancho de la ventana gráfica es inferior a 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"));
}
}
El problema que tengo es que el ancho calculado por $(window).width()
y el ancho calculado por el CSS no parece ser el mismo. Cuando $(window).width()
devuelve 767, el CSS calcula el ancho de la ventana gráfica como 751, por lo que parece haber un 16px diferente.
¿Alguien sabe qué está causando esto y cómo podría resolver el problema? La gente ha sugerido que el ancho de la barra de desplazamiento no se tiene en cuenta y el uso $(window).innerWidth() < 751
es el camino a seguir. Sin embargo, idealmente quiero encontrar una solución que calcule el ancho de la barra de desplazamiento y que sea coherente con mi consulta de medios (por ejemplo, donde ambas condiciones se comparan con el valor 767). ¿Porque seguramente no todos los navegadores tendrán un ancho de barra de desplazamiento de 16px?