C# Chrome溢出div之外的iframe背景?

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中,它似乎溢出了背景色,形成了一

我在div标签中有一个iframe,带有Overflow:Hidden和50px的边界半径,使其成为一个圆。iframe源是一个带有按钮的.aspx页面。单击按钮时,会导致回发。在邮件背面,我让它将背景颜色从零更改为其他颜色

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%;
}