我有一个div
圆角的父母,其中包含canvas
:
<div id="box">
<canvas width="300px" height="300px"></canvas>
</div>
#box {
width: 150px;
height: 150px;
background-color: blue;
border-radius: 50px;
overflow: hidden;
}
画布呈现一个溢出父级的红色矩形。正如预期的那样,这是我在所有浏览器中得到的:
问题:
但是,对于在 Mac OS lion 上运行的 webkit 浏览器(我测试了 Safari 5.1.5 和 Chrome 19),画布在圆角处仍然可见:
有趣的是,这个问题似乎只发生在内部元素是 a 时canvas
。对于任何其他子元素,内容被正确隐藏。
一种解决方法是将相同的圆角应用于画布本身,但不幸的是,这是不可能的,因为我需要为画布的相对位置设置动画。
另一个应该有效的解决方法是在类似于圆角形状的剪切区域中重新绘制画布,但我更喜欢更干净的 CSS3 解决方案。
那么,有人知道如何在 Mac 上为 Safari 和 Chrome 解决这个问题吗?
编辑:Win7 上的 Chrome 也会出现问题