您在示例中看到的正方形是iframe边框。您可以轻松地删除与风格:
iframe {
border: 0;
}
iframe的内容显然溢出包含div,当div有position: absolute
(或relative
,对于这个问题)。我不明白为什么会是这样,但你总是可以解决,通过包裹在只包含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%;
}
考虑到这一点后,您会注意到iframe与边框的一部分重叠。如果您只是删除position: absolute
,这与您在Chrome中看到的行为相同。
然而,现在你确实有一个包装,它也是一个小的修复,也将边框移动到该包装,这也将照顾到这个问题,并给你一个很好的圆形边框,这将看起来在所有现代浏览器中都是一样的。要继续都的div的border-radius
财产,但border
财产转移到#outer
注意。现在,由于包装具有边框,它的孩子没有,包装会稍微大一些,所以顺利的圆圈,所以还需要一个稍大的边界半径:
#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%;
}
Working demo
[这是你想要实现的吗?](http://jsfiddle.net/tX3Xc/)因为这在Chrome中适用于我。你的项目有什么不同? –
感谢您的回复。我能够使用该网站重新创建问题:http://jsfiddle.net/tX3Xc/3/ – Ber53rker