【问题标题】:Empty space displayed between images on Mac but not on PCMac 上的图像之间显示空白空间,但在 PC 上不显示
【发布时间】:2013-08-03 09:46:18
【问题描述】:

我有一个网页,我正在尝试显示图片。因为图像质量相对较高,所以我将图像拆分为四个 JPEG 文件,并在另一个下显示它们。我得到了更好的加载时间。在所有浏览器上的 PC 上一切正常。当我迁移到 Mac 时,我遇到了这个问题:

仔细看图片,从上到下正好是 75%,当第三张图片完成,第四张显示出来的时候,图片之间有很细的空隙。这不会发生在 Windows(Firefox、IE、Chrome)上,而主要发生在 OS X(Firefox、Safari、Chrome)上。当我调整它的大小时,它可能会消失或出现在其他图像边界(即在第一条和第二条之间而不是第三和第四条之间)。我不知道确切的原因(它可能与 PC 上的整数和 Mac 上的浮点数有关),我需要解决它。 CSS 没有什么特别之处,图像只是显示为宽度为 100% 的块以适应容器。我尝试过使用填充和边距,但我无法让它工作。我可以通过设置margin:-0.2px 之类的东西来摆脱它,但这显然是一个非常肮脏的解决方案,即使非常轻微,也会扭曲图像。

这里是代码,如果有帮助的话:

<div class="photoborder" id="PhotoContainer" style="width: 536px; height: 354px; left: 376.5px;">
    <div style="" id="ContentDiv" onclick="unloadPhoto();">
        <img id="PhotoSlice0" src="/Content/2012/2/_MG_3097_8_9HDRI_ton_1292_0.jpg" class="partialimage">
        <img id="PhotoSlice1" src="/Content/2012/2/_MG_3097_8_9HDRI_ton_1292_1.jpg" class="partialimage">
        <img id="PhotoSlice2" src="/Content/2012/2/_MG_3097_8_9HDRI_ton_1292_2.jpg" class="partialimage">
        <img id="PhotoSlice3" src="/Content/2012/2/_MG_3097_8_9HDRI_ton_1292_3.jpg" class="partialimage"></div>
    <div style="opacity: 0;" id="PhotoInfoBgDiv" onmouseover="setOver(true);" onmouseout="setOver(false);">
    </div>
</div>

PhotoContainer 具有绝对定位。 ContentDiv 隐藏了overflow-x,仅此而已。

【问题讨论】:

  • 能贴出代码吗?
  • 我无法发布整个 html/css,但正如我已经描述了问题中的所有相关部分:适用于我的图像元素的唯一属性是 display:block 和 @987654325 @,在 firefox 检查器中验证。
  • 请张贴代码。这显然是亚像素舍入问题,但你的解释对我来说没有意义。每个div中的图像吗?为什么是 100%?等需要代码来了解正在发生的事情并提出不同的方法。
  • 添加了所有相关的 HTML。

标签: html css macos rendering


【解决方案1】:

对我来说,你正在做的事情似乎是一个非常糟糕的主意。除了造成这样的麻烦之外,它还涉及对服务器的更多调用。有更好的选择。我的偏好是给图像一个大的宽度和高度(比如我希望它出现在屏幕上的宽度和高度的两倍),然后以相当低的质量保存图像。它在屏幕上看起来非常清晰,即使在视网膜显示器上也是如此,并且通常是一个非常小的文件大小。这里有一篇很好的文章:http://blog.netvlies.nl/design-interactie/retina-revolution/(这是我最喜欢的响应式图像/视网膜图像难题的解决方案。)

【讨论】:

  • 现在为时已晚,因为所有图像都已在服务器上。与将图像作为单个文件加载相比,它工作得又快又好。您的解决方案可能更好,但为时已晚,我需要针对问题的具体解决方案,我无法从头开始更改系统。
【解决方案2】:

加载问题的解决方案可能是使用渐进式图像。

它会立即加载,并增加清晰度。它还会减小文件大小。

【讨论】:

  • 我无法更改图像,有数百个图像,我无法从头开始处理它们。我需要一个现有的解决方案
  • @CanPoyrazoğlu 只是分批做,而不是一次一个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-18
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
  • 1970-01-01
  • 2013-11-12
相关资源
最近更新 更多