Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 设置宽度在chrome中可以正常工作,但在firefox中不能?_Jquery_Css_Firefox_Google Chrome_Rendering - Fatal编程技术网

Jquery 设置宽度在chrome中可以正常工作,但在firefox中不能?

Jquery 设置宽度在chrome中可以正常工作,但在firefox中不能?,jquery,css,firefox,google-chrome,rendering,Jquery,Css,Firefox,Google Chrome,Rendering,我正在用jquery构建一个小分页。我发现一个插件可以做一些类似的事情(我仍然在使用自己的插件)。我的和这个插件:在firefox中都有类似的问题。如果您查看该插件的演示页面上的“Demo5”,您可以看到问题所在。镀铬的,非常好。在firefox中,最后一个数字环绕到下一行 基本上我有一个ul,里面有li元素。我需要将所有li宽度相加,然后将ul宽度设置为该数字。我需要它精确(如果你增加更多的宽度,那么包装问题就不会发生,但是当你滚动到数字列表的末尾时,会有一堆空间) 你知道firefox为什么

我正在用jquery构建一个小分页。我发现一个插件可以做一些类似的事情(我仍然在使用自己的插件)。我的和这个插件:在firefox中都有类似的问题。如果您查看该插件的演示页面上的“Demo5”,您可以看到问题所在。镀铬的,非常好。在firefox中,最后一个数字环绕到下一行

基本上我有一个
ul
,里面有
li
元素。我需要将所有
li
宽度相加,然后将
ul
宽度设置为该数字。我需要它精确(如果你增加更多的宽度,那么包装问题就不会发生,但是当你滚动到数字列表的末尾时,会有一堆空间)

你知道firefox为什么会这样吗


顺便说一句,我现在在mac osx上。

我在IE中使用了开发工具,当我删除了主体上的
字母间距:2px
样式时,它修复了它。不确定这是否能解决firefox的问题,但它解决了IE9-10的问题,我猜这是同一个问题

您使用什么方法获得
  • 宽度?如果使用jQuery的
    width()
    offsetWidth
    clientWidth
    则会得到错误的数字,因为所有这些数字都舍入了非整数宽度。唯一能给出正确答案的是计算样式宽度和
    getBoundingClientRect().width

    在进行布局之前,Chrome会将宽度舍入为整数,因此舍入方法不会在此处造成任何损坏(但结果是,当舍入宽度的总和实际上不等于容器的宽度时,它可能会在边缘周围形成接缝)。

    我解决了这个问题: Jquery.paginate.js->只需替换

    _ul.css('width',insidewidth+'px'); [3rd line from last]
    

    问题解决了。在FF,Crome工作,即7,8,9
    享受

    我看不到Win7中的Firefox 4.0.1带来的乐趣。@entropo,嗯,那可能只是mac的东西?我编辑我的帖子就是为了说明这一点。请不要在问题标题中写标签。IE9也有这个问题(有趣的是,IE7和IE8没有这个问题)。。。IE10 PP1也有。Windows上的odd.IE9、IE10和Firefox 4(以及在Mac和Linux上您仍然关心的任何版本的Firefox)都会对文本进行亚像素字形定位,因此一段文本的宽度最终是非整数像素数。较旧的基于GDI的IE版本和基于WebKit的浏览器将文本捕捉到像素网格,因此文本以整数宽度结束。
    _ul.css('width',insidewidth+5+'px');