【问题标题】:Firefox Mac alignment issueFirefox Mac 对齐问题
【发布时间】:2010-01-21 18:36:17
【问题描述】:

我编写了一个菜单,其中按钮的总宽度应始终与菜单栏的宽度相同。所以我把空格放在按钮上。

它适用于: 视窗:FF IE6 IE7 IE8 Mac:Safari 浏览器

但它不适用于 Mac 上的 Firefox 有没有人知道?

可以找到示例: http://www.bobkarreman.com/menu_prototype/menu/menu.html

编辑:

我采取的步骤是:

  • 我计算空格。
  • 除以按钮的数量并四舍五入。
  • 将它与当前的填充一起添加到按钮中。
  • 为确保不存在舍入问题 每次将填充添加到按钮时,我都会从 totalWhitespace 中减去它,并在最后一个 LI 上添加 totalWhitespace。

所以最后一个 LI 可能会减少或增加 1 或 2 个像素。

【问题讨论】:

    标签: javascript html css windows firefox


    【解决方案1】:

    好吧,因为您正在动态更改 li 的宽度,所以它们的宽度值是浮点数而不是整数。在我看来,浏览器的处理方式都不同。计算后尝试执行Math.floor 函数。

    【讨论】:

    • 我对值进行四舍五入,因为这可能导致舍入问题,所以我从空白中减去我添加到每个 li 的值,并在最后一个 li 上添加剩余部分。所以当我添加它时,我看不到它是如何浮动的。
    【解决方案2】:

    查看您的console 输出,看起来它不一定按预期应用计算的填充。它似乎在计算 marLeft38(和 last43),但将 43 应用于每个 <a>。我可能会离开,我只是在猜测您的 console 输出的含义。

    值得注意的是,它在 Safari 中对我来说相差一个像素(最后一个菜单的 <a>padding-left: 39px 而其他菜单有 padding-left: 40px,它距离容器边缘只有一个像素)。

    编辑:我可能误解了您的console 输出,Safari 说marLeft35 但应用40last 除外)。

    编辑 2:我非常感谢控制台中有可供查看的信息。这是发布示例的正确方法。谢谢!

    【讨论】:

    • 在 Safari 中,它们都在 One Line 上,并且由于右边框为白色,因此看起来并没有关闭。
    猜你喜欢
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 2015-04-08
    • 2014-08-28
    • 1970-01-01
    相关资源
    最近更新 更多