首页 文章

CSS媒体查询和Firefox的滚动条宽度[重复]

提问于
浏览
2

可能重复:CSS媒体查询问题(滚动条)

因此,Firefox在其窗口宽度计算中包含滚动条宽度,Webkit没有 . 这导致浏览器之间的不一致 .

现在,我知道技术上Firefox通过计算滚动条作为窗口宽度的一部分来遵循规范,但这对我来说似乎是非常直观的 . 毕竟,移动设备没有滚动条,滚动条宽度因浏览器/浏览器/操作系统而异 .

有什么办法可以阻止Firefox包含滚动条宽度吗?也许是一个允许我的媒体查询在浏览器中正确触发的jQuery?

谢谢 .

1 回答

  • 2

    如果您只是使用媒体查询,那么侧边栏的偏移量不会对浏览器产生任何影响 .

    但是,如果您尝试将jQuery与媒体查询一起使用,则可能会遇到一些小问题,因为jQuery中返回的宽度是一致的,然后将显示偏移量 .

    要解决此问题,您只需计算firefox浏览器中侧边栏的偏移量,并从您想要同步的任何点减去该偏移量 . 即

    var scrollBarWidth = 0;
    if ($.browser.mozilla)
      scrollBarWidth = window.innerWidth - jQuery("body").width();
    

    稍后当您指定同步时......

    if ($(window).width() < mediaQueryWidth - scrollBarWidth) {
      //act to do along with the media query
    }
    

    希望这有用

相关问题