如何在 Mac 的任何 webkit 中隐藏父圆角的画布内容?

2024-05-14

我有一个父母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),画布在圆角处仍然可见:

有趣的是,这个问题似乎只发生在内部元素是canvas。对于任何其他子元素,内容都被正确隐藏。

一种解决方法是将相同的圆角应用于画布本身,但不幸的是这是不可能的,因为我需要对画布相对位置进行动画处理。

另一个可行的解决方法是在类似于圆角形状的剪切区域中重新绘制画布,但我更喜欢更干净的 CSS3 解决方案。

那么,有人知道如何解决 Mac 上 Safari 和 Chrome 的此问题吗?

EDIT: Win7上的Chrome也会出现这个问题

jsFiddle 在这里 http://jsfiddle.net/ruisoftware/PJqXY/8/


我用父 div 的 CSS 标签解决了这个问题:

transform: translate3d(0,0,0);

它适用于当前的 chrome 版本 36.0.1985.143 m

jsfiddle.net/PJqXY/38 http://jsfiddle.net/PJqXY/38/

#box {
    width: 150px;
    height: 150px;
    background-color: blue;
    border-radius: 50px;
    overflow: hidden;
    transform: translate3d(0,0,0);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Mac 的任何 webkit 中隐藏父圆角的画布内容? 的相关文章

随机推荐

  • Google电子表格脚本创建特定范围内的数据验证

    我正在尝试这个脚本来创建数据验证 但它总是不起作用 function test validation var Spread SpreadsheetApp getActiveSpreadsheet var Sheet Spread getSh
  • 更新 anaconda navigator 中的软件包时出现问题

    我无法更新 anaconda navigator 中的软件包 程序 1 更新索引 2 标记我要更新的包 3 点击应用 过了一会儿 窗口仍然是空的 什么也没有发生 见图 我已经从计算机中完全删除了 anaconda 并重新安装了它 问题仍然存
  • 如何将字符串解析为 UNIQUEIDENTIFIER?

    我正在编写一个实体框架 LINQ 查询 其中我想将字符串解析为 UNIQUEIDENTIFIER 又名 GUID 作为WHERE clause public IEnumerable
  • 在 C++ 中查找精确的字符串匹配

    这是我用来检测 txt 文件中一行中的字符串的代码 int main std ifstream file C log txt std string line while file eof while std getline file lin
  • 将“npm run start”的输出写入文件

    我想捕获的输出npm run start在一个文件中 我遇到了大量错误 我想更好地控制如何筛选输出 当我尝试时 npm run start gt log txt 我得到一个非常简短的文件 8 行 其结尾为 34m 39m 90m wdm 3
  • 如何推回向量的向量?

    我正在输入 20 行 我想用空格分隔每一行的内容并将其放入向量的向量中 如何制作向量的向量 我很难把它推回来 我的输入文件 Mary had a little lamb lalala up the hill the sun is up 该向
  • 下拉 24 小时选项值和 12 小时显示

    我需要创建一个时间数组 以便在 HTML 下拉列表中使用 数组键应采用 24 小时格式 值应采用 12 小时制 包含 am 和 pm 在数据库中我想存储 24 小时格式 有没有一种快速的方法来创建数组而不是每小时键入 example 00
  • 如何调用使用 Define 创建的 GNU make 宏?

    在我的 Makefile 中调用 GREP 的两种方式有什么区别吗 我有什么理由应该使用其中之一 两者似乎产生相同的结果 define GREP word 3 shell echo define FOO 0xfff00100 endef a
  • 检查Windows电源管理是否关闭了显示器

    如何在 Windows 7 和 XP 中以编程方式检查 Windows 电源管理 是否已关闭显示屏 如果能收到一个活动就更好了 我不认为 XP 可以做到这一点 Windows 7 中有各种与电源管理相关的好东西 这Windows API 代
  • git 可以与 Xcode 集成吗?

    有没有办法将 git 存储库与 Xcode 内置的 SCM 功能一起使用 Xcode 4 原生支持 git WWDC 2010 上的开发者工具国情咨文演讲 在这里了解更多 Xcode 4 中的新增功能 http developer appl
  • 在服务器桌面会话上捕获屏幕

    我开发了一个 GUI 测试框架 可以按计划对我们公司网站进行集成测试 当出现问题时 它会截取桌面等内容 它在专用 Windows Server 2008 上的登录用户上运行 无人值守 问题是在我已断开远程桌面会话连接的桌面上截取屏幕截图 我
  • java中如何知道一条sql语句是否执行了?

    我想知道这个删除语句是否真的删除了一些东西 下面的代码总是执行 else 是否删除了某些内容 执行此操作的正确方法是什么 public Deleter String pname String pword try PreparedStatem
  • 如何使用 jQuery 在按下按钮后保持按钮处于活动状态

    我见过一些非常相似的问题 但一直无法找到我正在寻找的答案 我已经确定了解决方法 但想知道执行该任务的正确方法 我想要的是单击按钮并使活动状态保持不变 下一次单击将切换状态 这是所需的 我真正需要知道的是如何解决 uiButton activ
  • 更改方向时更改 UITableViewCell 高度

    我有一个 UITableView 其中包含可变高度 UILabels 的单元格 我能够计算标签需要使用的最小高度sizeWithFont constrainedToSize lineBreakMode 首次加载表视图时效果很好 当我旋转表格
  • 当标题中包含“&”时,电子邮件标题无法正确显示,如何在 JavaScript 中修复?

    我有一些代码以以下格式显示文章标题列表 简短描述和作者姓名 标题 作者姓名 描述 作者的姓名和描述与此处无关 因为它们始终显示正确 大多数标题也可以正确显示 以下是一些虚构的示例 关于银行业务您需要了解的最重要的一件事 作者姓名 正确显示
  • npm install 没有拉入 devDependency

    我有 npm v 1 2 32 当我跑步时 npm 安装 mongo migrate 它不安装 mongodb 这是一个 devDependency 我究竟做错了什么 虽然与这个问题没有直接关系 但有些人可能有兴趣知道如果环境变量NODE
  • 带有闭包的 JavaScript 性能

    var name function n var digits one two three four return digits n var namenew function digits one two three four return
  • 使用 OkHttp 下载损坏的文件

    我编写的下载文件的方法总是会产生损坏的文件 public static String okDownloadToFileSync final String link final String fileName final boolean te
  • 找不到 React/RCTEventEmitter.h 文件

    我正在尝试使用独立的 Expo 应用程序来实现 PushNotificationIOS 我正在运行 SDK 21 0 0 React Native 0 48 我正进入 状态React RCTEventEmitter file not fou
  • 如何在 Mac 的任何 webkit 中隐藏父圆角的画布内容?

    我有一个父母div带有圆角 其中包含canvas div div