C# Chrome溢出div之外的iframe背景?
我在div标签中有一个iframe,带有Overflow:Hidden和50px的边界半径,使其成为一个圆。iframe源是一个带有按钮的.aspx页面。单击按钮时,会导致回发。在邮件背面,我让它将背景颜色从零更改为其他颜色C# Chrome溢出div之外的iframe背景?,c#,asp.net,css,google-chrome,iframe,C#,Asp.net,Css,Google Chrome,Iframe,我在div标签中有一个iframe,带有Overflow:Hidden和50px的边界半径,使其成为一个圆。iframe源是一个带有按钮的.aspx页面。单击按钮时,会导致回发。在邮件背面,我让它将背景颜色从零更改为其他颜色 iframeBody.Attributes.Add("Style", "background-color:#FF9090"); 它在Firefox和Internet Explorer中工作得很好(在IE中很好!令人惊讶!),但在Chrome中,它似乎溢出了背景色,形成了一
iframeBody.Attributes.Add("Style", "background-color:#FF9090");
它在Firefox和Internet Explorer中工作得很好(在IE中很好!令人惊讶!),但在Chrome中,它似乎溢出了背景色,形成了一个正方形。(所有其他内容都显示得很完美,只是背景渗出来了。)任何帮助都将不胜感激。谢谢。您在示例中看到的正方形是iframe边框。您可以使用以下样式轻松删除该选项:
iframe {
border: 0;
}
当div具有位置:绝对
(或相对
)时,iframe的内容显然溢出了包含的div。我不太清楚为什么会出现这种情况,但您可以通过将该div包装在仅包含div和iframe的容器中,并将定位移动到该元素来解决这一问题:
<div id="outer">
<div>
<iframe></iframe>
</div>
</div>
#outer {
position: absolute;
width: 100px;
height: 100px;
}
#outer > div {
border-radius: 50px;
height: 100px;
width: 100px;
overflow: hidden;
border: 5px solid #D3D3D3;
}
iframe {
border: 0;
background-color: pink;
height: 100%;
overflow: hidden;
width: 100%;
}
还有另一种方法。您可以使用webkit蒙版图像并制作一个透明的PNG图像用作蒙版(当然也适用于渐变或更复杂的形状)。目前仅适用于webkit浏览器(Safari/Chrome等),但这相当于不到50%的用户。可能是一个选项,具体取决于观众。因为这对我在Chrome中很有用。你的项目有什么不同?谢谢你的回复。我可以使用该站点重新创建问题:我甚至不知道有默认边界。(使用样式表重置值)不过,背景色也没有帮助:这显然是一个
位置:绝对问题。无法确切告诉您原因,但删除它可以解决问题。结果也不是一个完美的圆,不过…不幸的是,这对我没有多大帮助,因为我需要它以这种方式定位。不过谢谢。是的,我担心这可能没有多大帮助;我只是指出了我发现的事情。知道了这一点,我已经能够构建一些变通方法,我希望这些方法可能适用于您。看看我最新的答案。这很有效!非常感谢。奇怪的是,我不能在课堂上应用这些样式。虽然Firefox可以看到类中的样式,但Chrome没有选择任何样式!它只能在线工作!我开始觉得Chrome是新的IE!英雄联盟
#outer {
position: absolute;
width: 100px;
height: 100px;
border: 5px solid #D3D3D3;
border-radius: 55px;
}
#outer > div {
border-radius: 50px;
height: 100px;
width: 100px;
overflow: hidden;
}
iframe {
border: 0;
background-color: pink;
height: 100%;
overflow: hidden;
width: 100%;
}