webkit css resize 不适用于画布作为子项?

2023-12-14

假设以下 html 和 css 代码片段:

#outer {
  width: 100px;
  height: 100px;
  overflow: hidden;
  resize: both;
  border: 1px solid black;
}
#inner {
  width: 100%;
  height: 100%;
}
<div id="outer">
  <canvas id="inner"></canvas>
</div>

我希望 div 可以调整大小,在 Firefox 中确实如此。然而,在基于 webkit 的浏览器(例如 Chrome 和 Opera)中,情况并非如此。但是,如果我用 div 替换内部画布,它也可以在那里工作。所以我的问题是:为什么在这种情况下 canvas 元素会阻止外部 div 调整大小?我该如何解决这个问题?


画布似乎正在接受鼠标事件,从而阻止调整大小。如果你考虑pointer-events:none在画布上它将起作用:

#outer {
  width: 100px;
  height: 100px;
  overflow: hidden;
  resize: both;
  border: 1px solid black;
}
#inner {
  width: 100%;
  height: 100%;
  pointer-events:none
}
<div id="outer">
  <canvas id="inner"></canvas>
</div>

为了更好地说明,稍微减小画布的大小以避免与调整大小小部件重叠,它也将起作用:

#outer {
  width: 100px;
  height: 100px;
  overflow: hidden;
  resize: both;
  border: 1px solid black;
}
#inner {
  width: 100%;
  height: calc(100% - 10px);
  background:red;
}
<div id="outer">
  <canvas id="inner"></canvas>
</div>

你还可以玩z-index:

#outer {
  width: 100px;
  height: 100px;
  overflow: hidden;
  resize: both;
  border: 1px solid black;
  position:relative;
  z-index:0; /* mandatory to create a stacking context and keep the canvas inside */
}
#inner {
  width: 100%;
  height: 100%;
  position:relative;
  z-index:-1;
  background:red;
}
<div id="outer">
  <canvas id="inner"></canvas>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

webkit css resize 不适用于画布作为子项? 的相关文章

  • 如何使用 Angular 创建 n 个可打印页面?

    嗯 我搜索了一下 没有找到类似的东西 我想知道如何使用 Angular 创建可打印内容 跳转到页面末尾并打印更多内容 如何强制内容始终适合特定尺寸 例如 PDF 我需要 Angular 来执行此操作吗 如果不是 HTML 我可以迭代 PDF
  • 有没有办法将图像异步加载到用户缓存?

    我有一份物品清单 它们每个都是一个带有名称的正方形 当用户将鼠标悬停在正方形上时 将显示一个图像 这是由 jQuery 完成的 代码是这样的 square hover function var link this attr title th
  • 导航时 Internet Explorer 9 中的图像闪烁白色

    我正在使用 XHTML 1 1 CSS 3 0 开发一个网站 但 Internet Explorer 9 出现问题 每次我将页面从 主页 更改为 功能 时 各种图像在填充之前都会闪烁 白色 出现这种 白色闪烁 每次页面更改时 我见过很多堆栈
  • 如何区分两个同名的多选列表

    对于我正在构建的系统 我需要查看第一个列表中出现了哪些选项 通过 POST 请求 以及第二个列表中出现了哪些选项
  • 多彩文本框的想法?

    在我的网站中 我想实现一个文本框 人们可以在其中输入一组由分隔符分隔的字符串 例如本页底部的标签文本框 由空格 分隔符 分隔的标签 字符串 为了让用户更清楚 为每个字符串提供不同的背景颜色或其他视觉提示是很有意义的 我认为使用常规输入 文本
  • 如何在 Popup div 中加载 iframe 内容?

    如何在 Popup div 中加载 iframe 内容 单击每个链接时将打开弹出 div 从每个链接 页面 url 将加载到弹出 div 内的 iframe href document ready function openpop clic
  • CSS条件注释适用于除IE之外的其他浏览器吗?

    据我所知 条件注释仅支持不同版本的IE 同样 我们也可以为其他浏览器提供条件注释吗 如果是 如何 如果不是 最好的选择是什么 CSS 条件注释仅适用于 IE http msdn microsoft com en us library ms5
  • 该脚本在 IE 中不起作用。我该如何修复它?

    有一个脚本可以根据用户的显示器屏幕分辨率更改页面模板 但是 它在 IE 中不起作用 请告知如何修复它 table align center tr td head td tr tr td nbsp td td nbsp td td nbsp
  • 如何使用 file:///F:/foldername 访问 ajax 中的本地文件夹?但它适用于 http://

    在这里 我使用以下代码使用 AJAX jQuery 动态创建文件名列表 window load function var fileExt csv document ready function ajax url file F foldern
  • 如何在 CSS 中选择纯 HTML 文本?

    你们有人知道如何在 CSS 中选择纯 HTML 文本吗 我有以下结构 div p class caption caption1 p div class tabs div class moving bg div p class text ta
  • 帮助在 UIWebView 中使用 Javascript 代码

    我想在 webView 中运行以下代码 以便内容可编辑 javascript document body contentEditable true document designMode on void 0 到目前为止 我已经尝试过这个 v
  • Zurb 基金会粘性页脚

    我想使用 Foundation 4 拥有粘性页脚 并且我想使用 HTML5
  • 移动设备上的剩余悬停效果

    我一整天都在努力做这个JSFiddle http jsfiddle net gsamaras q2w4jjyt 4 也适用于手机 但我所有的尝试都没有效果 在桌面上 当用户将鼠标悬停在箭头上时 它会变成红色 在移动设备上 当用户触摸 为了单
  • 如何让 ExtJS ComboBox 与文本一起显示?

    我想让以下内容显示在一行中 我尝试过使用样式浮动和显示 Show this input
  • 使用添加“title”属性换行符 到 JSX 元素

    我知道我可以在 HTML 中添加换行符title属性使用 10 但 React 避免了这一点 例如 这是一个 React 组件 其中包含一个标准的 未由 React 处理的组件title包含换行符的属性 并且可以在浏览器中看到效果 但是如果
  • 设置引导工具提示上的箭头样式[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方式设置工具提示样式 tooltip inner 但我遇到了麻烦 因为我找不到如何设置工具提示小箭头的样式 如屏幕截图所示 工具提示的箭头是黑色的 我想在其上添加新颜色 any suggesti
  • 如何使弹出窗口溢出:在溢出内可见:自动上下文

    我有一个 div 列表 如果超过父框 overflow x 应该滚动 并且在悬停时 我想看到一个弹出窗口 我的问题是 如果我将鼠标悬停在任何子 div 上 弹出窗口将被考虑用于溢出计算 但我只想让它在所有内容之上可见 而不是使其扩展滚动区域
  • Firefox -moz-border-radius 不会裁剪图像?

    如果设置了图像的边框半径 有谁知道如何让 Firefox 裁剪角 它包含的元素可以正常工作 但我会发现丑陋的角落伸出来 有什么方法可以解决此问题 而无需将图像设置为背景图像或在将其放在网站上之前对其进行处理吗 解决方法 将图像设置为容器元素
  • JQuery 设置动态最大宽度

    我不太擅长 jQuery 因此完整的代码解决方案将是理想的选择 该函数将 获取浏览器屏幕的 70 宽度 将该宽度转换为其相应的 px 值 设置最大宽度 mainContainer使用从转换 计算中获得的值 这是我要设置的容器的 CSS 样式
  • IE10 中的弹性盒

    我试图让弹性框在 IE10 中工作 但它不起作用 Safari Chrome 和 Firefox 工作正常 但 IE10 不工作 有人知道答案吗 代码笔 http codepen io anon pen vcEGH http codepen

随机推荐

  • 限制 NSArray 中的重复条目

    我有一个数组 其中包含一些重复的条目 首先 有什么办法可以限制插入数据时的重复条目吗 其次 如果一个数组已经具有比其他方式重复的值 我们只能从该数组中检索唯一的值 我听说过 NSSet 但我不知道如何使用它 不要使用 NSSet 您只能在创
  • 卡夫卡流 RoundRobinPartitioner

    我编写了一个kafka流代码 使用kafka 2 4 kafka客户端版本和kafka 2 2服务器版本 我的主题和内部主题有 50 个分区 我的 kafka 流代码具有 selectKey DSL 操作 并且我有 200 万条使用相同 K
  • 如何检查一个 div 是否包含另一个 div?

    如果我的父 div 有一个仅使用 JavaScript 的子 div 我需要显示警报 而不使用 jQuery 我尝试过使用contains 函数来检查我的 div 并发送警报 但它不起作用 div class ro div
  • 如何在c#中将数据表绑定到datagridview

    我需要绑定我的数据表 to my 数据网格视图 我这样做 DTable new DataTable SBind new BindingSource ServersTable DataGridView for int i 0 i lt Ser
  • 在数组上的过滤方法之后指定所需的类型

    我想在两个数组之间进行分离 在一个数组中 对象没有特定的值 另一方面 它应该有一个字符串 interface Relation
  • NodeList 上的 addEventListener [重复]

    这个问题在这里已经有答案了 NodeList是否支持addEventListener 如果不是 将 EventListener 添加到 NodeList 的所有节点的最佳方法是什么 目前我正在使用如下所示的代码片段 是否有更好的方法来做到这
  • mysql:获取两个日期时间之间的记录计数

    我在 MySQL 中遇到了一个问题 我想获取两个日期时间条目之间的记录数 例如 我的表中有一个名为 created 的列 其中包含datetime数据类型 我想计算在 今天凌晨 4 30 和 当前日期时间 之间创建的日期时间记录 我尝试了
  • 如何在多线程中取消DefaultHttpClient执行过程

    我正在开发一个非常依赖互联网的Android应用程序 我经常使用它检索数据RestClient类 其中包含有关使用 DefaultHttpClient 执行网络请求的一些详细信息 我总是使用不同的线程来执行 HTTP 请求 我创建一个这样的
  • 如何解决C和Python混合编程时的“分段错误”?

    在我的Ubuntu下 猫测试 py Filename test py def Hello print Hello world 猫汤姆 cpp include
  • CSS中如何让文本围绕不规则形状流动

    我正在尝试弄清楚如何让文本围绕页面上的不规则形状流动 但我不太幸运地弄清楚如何做我想做的事情 我附上了一张显示我正在尝试使用的布局的图像 我希望文本像图像中那样流畅 我在 MS Paint 中做了这个模型 每个页面上都可以有任何内容 所以我
  • 如何使我的 Blazor 服务器端应用程序 IIS 8.5 保持活动状态

    我需要让我的 blazor 服务器端应用程序始终保持活动状态 我尝试将 iis 8 5 启动模式设置设置为 alwaysrunning 并将 idle 设置为 0 但仍然关闭应用程序并捕获停止信号 在 23 点到 29 点之间 我必须做什么
  • 使用从kernel32.dll导入的SetThreadAffinityMask函数

    我正在尝试使用设置线程亲和力SetThreadAffinityMask在我的 C 代码中从 kernel32 dll 导入的函数 这就是我导入它的方式 DllImport kernel32 dll static extern IntPtr
  • 从“原型”和“新”转向封闭和暴露模式

    我一直在重构别人的 JavaScript 代码 BEFORE function SomeObj flag var private true this flag flag true false this version 1 1 prototy
  • 如何在 Nest for Elasticsearch 中添加完整的短语标记器?

    当我使用构面创建搜索时 我希望构面结果出现在整个短语上 而不是单个单词上 我希望它不区分大小写 就像 not analyzed 那样 例如 如果我有一个音乐 json 对象 并且想要根据流派组织分面结果 我希望将每种流派视为整个流派术语 节
  • Winforms 阿拉伯语输入文本框

    在我的 Windows 申请表 C 上 我有阿拉伯语和英语文本框 对于阿拉伯语文本框 我想自动将我的语言转换为阿拉伯语 而无需按 alt Shift 我在互联网上找到了这个解决方案 并在 TextBox Enter 上实现了它 privat
  • 如何检查 JSONObject 中值的类型?

    我正在尝试获取存储在 a 中的值的类型JSONObject String jString a 1 b str JSONObject jObj new JSONObject jString 是否可以获取 key 存储的值的类型 a 就像是jO
  • 特定行和列的自定义单元格渲染器

    puuuuuuf 我开始喜欢 swing 我正在尝试编写一个 cellRenderer 来自定义渲染除第一行和第一列中的单元格之外的所有单元格 所以我写了以下内容 public class CustomTableCellRenderer e
  • JavaFX TextField 文本验证

    我有一个listener应用于我的领域 nameTextField addEventHandler KeyEvent KEY TYPED fieldChangeListener 50 事件处理程序 private EventHandler
  • 我可以直接创建 1T 大小的 Windows Azure 驱动器吗

    Windows Azure 驱动器的最大大小为1T M only 收取其中的数据 而不是大小 我的问题是 为什么不直接创建一个大小为 1T 的 Azure 驱动器 这样就不用再担心调整大小等问题了 或者 如果我创建的驱动器大于我需要的大小
  • webkit css resize 不适用于画布作为子项?

    假设以下 html 和 css 代码片段 outer width 100px height 100px overflow hidden resize both border 1px solid black inner width 100 h