代码之家  ›  专栏  ›  技术社区  ›  Keith Bentrup

什么会导致不同PC上的相同浏览器呈现相同的HTML不同?

  •  6
  • Keith Bentrup  · 技术社区  · 15 年前

    我被难住了。一个客户机和我都在XP机器上运行火狐3.0.12。我们在同一个浏览器中在不同的机器上查看相同的页面,结果也不同。注意:所有IE浏览器在这两台机器上都是一致的,而我的FF 3.5.1与我的FF 3.0.12是一致的。(他没有安装FF 3.5.x进行比较)。

    有一个1像素的差异导致他的头分区 (所有图像,无文本) 包装。我的很好。如果我将他的头扩展1像素(通过FirebugCSS编辑),它就会工作。

    所以我的问题是,还有哪些变量会影响渲染??

    我试着去想“跳出盒子”是因为它看起来应该是完全一样的。

    我们清除了浏览器缓存。我在HTML源代码上做了一个diff,除了一个javascript日期时间戳和一个javascript跟踪代码var之外,这些源代码是相同的。

    我知道这个问题对source很有帮助,但是我的客户特别不希望这个页面在互联网上直播。我还通过WebEx会话验证了这个问题。起初,我不敢相信我们会有不同的结果。

    还有人以前遇到过这样的事吗?接下来我应该签出/调试什么?

    编辑: 有很多指向字体的建议,但是标题只使用图像。好吧,这不是完全正确的,有一些div是可折叠菜单的一部分,但所有这些都设置为 display:none 对于最初的渲染,我认为这是另外一回事。

    编辑2: 我已经在我的计算机上更改了各种字体和大小(包括系统默认字体设置和火狐内部),以尝试复制问题。我更改了渲染样式(标准与清除类型)。Nada。 这个问题几乎肯定与字体无关。 我要看看是否可以再访问客户端的计算机来复制这个问题。

    12 回复  |  直到 8 年前
        1
  •  5
  •   James Skidmore    15 年前

    由于我们无法在自己的浏览器中查看该站点,下面是我试图解决问题的过程:

    • 开始删除代码块 一块一块地,直到两个浏览器看起来一样。

    • 无论您上次删除的哪一块代码使所有内容都完美地排列在一起(即使您在正文中缺少一块代码)。 就在罪犯所在的地方。

    • 既然你找到了罪犯,把所有的代码放回原处。先把字体弄得乱七八糟。更改字体、大小、删除文本等。 直到找到浏览器相同的条件。 如果不是字体问题,那么就开始处理它的其他部分,直到找到与之匹配的条件为止。

    • 一旦你这样做了,你就会知道你的问题,你可以解决它。

        2
  •  5
  •   Hardryv    15 年前

    如果您使用的是火狐,请确保按ctrl-0默认缩放级别。

        3
  •  3
  •   Karl    15 年前

    我知道我的ff3.0使所有东西看起来都不同于其他人的,因为我在首选项中设置了它,以使用最小16的字体大小。我没有得到好的印刷品,我得到了一堆清晰的文字。

    另外,在Mac上,默认字体是无衬线字体,而在Windows上,所有字体都是衬线字体,这也可以进一步更改字体的宽度和高度。

    如果页面上的任何内容指定为“em”或“ex”单位,则它们取决于字体大小。

        4
  •  2
  •   Matt Howell    15 年前

    我会比较插件/插件。

        5
  •  2
  •   Michael Madsen    15 年前

    你的字体平滑设置怎么样?它们是相同的吗(无/反锯齿/ClearType)?这会改变给定文本的宽度,可能正是您要查找的内容。

        6
  •  2
  •   Juan    15 年前

    你们两个使用的屏幕尺寸完全相同吗?火狐是否尝试将字体缩放到查看页面的人的外观大小,或特定的像素数?

        7
  •  1
  •   Lucky    15 年前

    一件事让人想到的是安装字体。如果您的字体不是客户机的字体,则计算出的大小可能有1个像素的差异。FF和IE的四舍五入可能不同,这可以解释为什么它们的行为不同。

        8
  •  1
  •   Thomas Hansen    15 年前

    我基本上同意所有“字体家伙”更进一步,但如果这没有帮助,请尝试检查HTTP头,因为有些头可能是由代理添加的,比如服务器和客户机之间的头。但是首先尝试字体建议…

    祝你好运!)

        9
  •  0
  •   Breton    15 年前

    不同的操作系统有不同的字体呈现引擎。完全不同。根据CSS的设置方式,这足以产生至少1个像素的差异。

        10
  •  0
  •   Karl    15 年前

    我的第一个猜测是与窗口有关,我不记得在火狐中曾经发生过这种情况,但还是尝试调整窗口的大小。也有可能是有一个1px宽的物体占据了这个空间,比如一个隐藏的框架或者其他什么东西。因为我不知道你是怎么做的,所以这些可能完全不符合标准。

    一个可能的解决方法是将其中一个图像作为背景显示给一个DIV,而不是使用img标记,如果关闭1px,这将导致它被截断而不是包装。

        11
  •  0
  •   Flexo - Save the data dump sunny moon    12 年前

    我曾经看到过这个问题,结果用户缩放了页面,缩放导致了数学四舍五入问题。我无意中把我的页面放大到了120%,只有你正常的100%。

        12
  •  0
  •   Akshay Vijay Jain    8 年前

    使用浏览器中的当前更新,浏览器缩放设置采用系统的DPI设置。

    在Windows7中,设置dpi=125%将在浏览器窗口的100%缩放时产生缩放效果。

    所以,这与HTML无关。也就是说,宽度=300px的设置将在同一浏览器上生成不同大小的框,具有相同的缩放设置,但具有不同的dpi设置。

    dpi=125%将产生更大的盒子。

    因此,如果要降低缩放级别,请按ctrl+-缩小浏览器,或按以下步骤减少系统的dpi设置。

    1. 对于Windows 10 http://www.windows10update.com/2015/05/windows-10-tutorials-79-change-dpi-scaling-level-for-displays/
    2. 对于Windows 7 http://www.lawfirmsoftware.com/support/change_dpi_settings_windows_7.htm