Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 调整图像大小时,透明背景变为白色_Html_Ios_Css_Background Image_Background Blend Mode - Fatal编程技术网

Html 调整图像大小时,透明背景变为白色

Html 调整图像大小时,透明背景变为白色,html,ios,css,background-image,background-blend-mode,Html,Ios,Css,Background Image,Background Blend Mode,我有一个HTML页面,我需要呈现3个图像,一个在另一个上面 <div id="preview"> <img src="transparent-image"> </div> 前两幅图像使用CSS属性背景混合模式:multiply混合在一起,在此基础上,我将最后一幅图像(透明图像)与透明背景混合在一起(想象一张房间的照片,墙壁区域是透明的) 结果正是我想要的,但当我试着 #preview{ width:100% } 使其具有响应性;它工作完美无

我有一个HTML页面,我需要呈现3个图像,一个在另一个上面

<div id="preview">
    <img src="transparent-image">
</div>
前两幅图像使用CSS属性背景混合模式:multiply混合在一起,在此基础上,我将最后一幅图像(透明图像)与透明背景混合在一起(想象一张房间的照片,墙壁区域是透明的)

结果正是我想要的,但当我试着

#preview{
    width:100%
}
使其具有响应性;它工作完美无瑕,但在ios上,透明度已经丧失。 我在Chrome、Safari和Firefox(iOS)上测试了这种行为。在Chrome、Safari、OSX上的Firefox、Android和Windows上都没有问题

有什么我遗漏的吗?谢谢你抽出时间

编辑:

layer0图像和透明图像是相同的图像,layer0图像没有透明度,与layer1图像相乘,然后在这个混合图像的顶部放置透明图像

我尝试用另一个图像更改透明图像,问题似乎是layer0图像和layer1图像之间的混合,但由于layer0图像和透明图像是相同的,起初我认为存在透明度问题

透明度是存在的,但当放置到该位置时,div#preview的高度为0px

#preview{
    width:100%;
    height:auto;
}
显示没有混合

EDIT2


我正在添加一个示例来显示和复制错误:

好的,我终于找到了问题。具有:

#preview{
    background-image:url(layer0-image), url(layer1-image);
    background-size:100%, 100px;
    background-blend-mode: multiply;
    width: 820px;
    height: 350px;
}
然后设置:

#preview{
    width:100%;
}
造成错误的原因。要修复它,我尝试设置:

#preview{
    width:100%;
    background-size:cover, 100px;
}

即使我不清楚为什么会发生这种情况,这个问题也没有了。

您必须使用WebKit设置透明度。透明图像是一个带有透明度的PNG。嗯。。。它适用于OSX和mobile safari,不是吗?我不明白。有趣的问题。没错,在使用OSX的Safari上(甚至在Chrome、Firefox上)以及在Android上的Chrome和Firefox上都可以很好地工作。当我在iOS上测试它时,我看到的是没有透明度的图像透明图像,失去了透过wal的效果。
#preview{
    width:100%;
    background-size:cover, 100px;
}