Jquery 设置宽度在chrome中可以正常工作,但在firefox中不能?
我正在用jquery构建一个小分页。我发现一个插件可以做一些类似的事情(我仍然在使用自己的插件)。我的和这个插件:在firefox中都有类似的问题。如果您查看该插件的演示页面上的“Demo5”,您可以看到问题所在。镀铬的,非常好。在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为什么
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');