Estou usando o Twitter Bootstrap em um projeto. Além dos estilos de inicialização padrão, também adicionei alguns dos meus
//My styles
@media (max-width: 767px)
{
//CSS here
}
Também estou usando o jQuery para alterar a ordem de certos elementos na página quando a largura da janela de exibição é menor 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"));
}
}
O problema que estou tendo é que a largura calculada por $(window).width()
e a largura calculada pelo CSS não parecem ser iguais. Quando $(window).width()
retorna 767, o css calcula a largura da janela de visualização como 751, de modo que parece haver uma diferença de 16px.
Alguém sabe o que está causando isso e como eu poderia resolver o problema? As pessoas sugeriram que a largura da barra de rolagem não está sendo levada em consideração e o uso $(window).innerWidth() < 751
é o caminho a percorrer. No entanto, idealmente, quero encontrar uma solução que calcule a largura da barra de rolagem e que seja consistente com minha consulta de mídia (por exemplo, onde ambas as condições estão verificando o valor 767). Porque certamente nem todos os navegadores terão uma largura de barra de rolagem de 16px?