【发布时间】:2017-06-26 20:16:31
【问题描述】:
我有一个网站,其中心有一个大型动画像素艺术 gif。
大 gif 的两侧是一个水平扩展的 div。这些 div 的背景图像是可平铺的 PNG。
这样,“场景”可以填充高达 5736 像素的屏幕宽度,而不会扭曲中心 gif。
问题:浏览器中的 PNG 平铺颜色与 Photoshop 中的不同,因此它们与中心 gif 不匹配。在 macOS 上的 Safari、Firefox、Chrome 中测试。
在 Photoshop 中保存和打开图块和 gif 显示颜色是相同的。但是在浏览器中查看它们(或截取浏览器的屏幕截图)时,它们显然是不同的。
此外,这两种颜色都不是“正确”的颜色 (#080910)。
gif 或 PNG 都没有任何透明度,或者它们之上的任何东西。我有点茫然,不胜感激 - 我觉得我可能错过了一些关于浏览器如何渲染图像的东西。
HTML
<div id="hero">
<div class="scene tile" id="lefTile"></div>
<div class="scene" id="centerpiece"></div>
<div class="scene tile" id="rightTile"></div>
</div>
CSS
#hero {
width: 5736px;
margin-left: 50%;
transform: translateX(-50%);
background-size: 1736px auto;
}
.scene {
float: left;
height: 500px;
}
#centerpiece {
width: 100%;
max-width: 1736px;
background-image: url(img/hero.gif);
background-size: 100% auto;
background-position: center bottom;
background-repeat: no-repeat;
}
.tile {
width: 2000px;
background-repeat: repeat-x;
background-size: contain;
#leftTile {
background-image: url(img/left-tile.png);
background-position: right bottom;
}
#rightTile {
background-image: url(img/right-tile.png);
background-position: left bottom;
}
【问题讨论】: