Javascript Firefox Mac对齐问题
我写了一个菜单,其中按钮的总宽度应始终与菜单栏的宽度相同。所以我用空格,在按钮上加上 它的作用是: Windows:FF IE6 IE7 IE8 Mac:SafariChrome 但是它在Mac上的Firefox上不起作用。有人有主意吗 例如: 编辑: 我采取的步骤是:Javascript Firefox Mac对齐问题,javascript,html,css,windows,firefox,Javascript,Html,Css,Windows,Firefox,我写了一个菜单,其中按钮的总宽度应始终与菜单栏的宽度相同。所以我用空格,在按钮上加上 它的作用是: Windows:FF IE6 IE7 IE8 Mac:SafariChrome 但是它在Mac上的Firefox上不起作用。有人有主意吗 例如: 编辑: 我采取的步骤是: 我计算空格 将其除以按钮数,然后四舍五入 将其与当前填充添加到按钮 为了确保每次向按钮添加填充时没有舍入问题,我从总空格中减去它,在最后一个li中添加总空格 因此,最后一个LI可能会减少或增加1或2个像素。因为您正在动态更
- 我计算空格
- 将其除以按钮数,然后四舍五入李>
- 将其与当前填充添加到按钮李>
- 为了确保每次向按钮添加填充时没有舍入问题,我从总空格中减去它,在最后一个li中添加总空格李>
因此,最后一个LI可能会减少或增加1或2个像素。因为您正在动态更改LI的宽度,所以它们的宽度值是浮点值,而不是整数。在我看来,浏览器的处理方式都不一样。计算完后,请尝试执行
Math.floor
功能。查看控制台的输出,它似乎不一定按照预期应用计算的填充。它似乎在计算marLeft
到38
(和last
到43
),但将43
应用到每个
。我可能会离开,我只是在猜测您的控制台
输出的含义
另外值得注意的是,在Safari中,我将其关闭了一个像素(最后一个菜单的
具有左填充:39px
,而其他菜单具有左填充:40px
,距离容器边缘一个像素)
编辑:我可能误解了您的控制台
输出,Safari说marLeft
是35
,但应用了40
(除了上次
)
编辑2:我真的很感激控制台中有可以查看的信息。这是发布示例的正确方法。谢谢 我对值进行四舍五入,因为这可能会导致四舍五入问题,所以我从空白中减去我添加到每个li的值,在最后一个li上添加剩余部分。所以当我添加它时,我看不出它是一个浮点数。在Safari中,它们都在一条线上,而且由于右边框是白色的,所以它看起来不是关闭的。