当前位置: 首页 > 面试题库 >

使画布与父对象一样宽和一样高

危砚
2023-03-14
问题内容

我想制作一个矩形画布来模拟进度条,但是当我将画布的宽度和高度设置为100%时,它实际上并没有像父对象一样高和宽

甚至可以制作非正方形的画布吗?我不想对画布的高度和宽度进行硬编码,因为在更大或更小的屏幕(包括移动设备)上查看时,画布应该动态更改


问题答案:

您的示例有几个问题:

  1. A <div>没有heightwidth属性。您需要通过CSS进行设置。
  2. 即使div的大小正确,它也会使用default position:static,这意味着它不是任何子级的定位父级。如果希望画布与div大小相同,则必须将div设置为position:relative(或absolutefixed)。
  3. “ 画布”上的widthheight属性指定要绘制的数据像素数(如图像中的实际像素),并且与画布的 显示大小 分开。这些属性必须设置为整数。

上面链接的示例使用CSS设置div大小并使其成为定位父对象。它创建了一个JS函数(如下所示),以将画布设置为与其放置的父对象相同的 _显示_尺寸,然后调整内部widthheight属性,使其像素数与显示的相同。

var canvas = document.querySelector('canvas');
fitToContainer(canvas);

function fitToContainer(canvas){
  // Make it visually fill the positioned parent
  canvas.style.width ='100%';
  canvas.style.height='100%';
  // ...then set the internal size to match
  canvas.width  = canvas.offsetWidth;
  canvas.height = canvas.offsetHeight;
}


 类似资料:
  • 本文向大家介绍css怎样使每个字符宽度一样?相关面试题,主要包含被问及css怎样使每个字符宽度一样?时的应答技巧和注意事项,需要的朋友参考一下 letter-spacing:1em; 你自己试了 可以?

  • 本文向大家介绍裁剪画布/导出具有一定宽度和高度的HTML5画布,包括了裁剪画布/导出具有一定宽度和高度的HTML5画布的使用技巧和注意事项,需要的朋友参考一下 为此,创建一个临时画布以在当前画布上进行绘制。之后,在临时画布上使用toDataUrl()方法-

  • CMOS是互补金属氧化物半导体的缩写。其本意是指制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片。在这里通常是指微机主板上的一块可读写的RAM芯片。它存储了微机系统的实时钟信息和硬件配置信息等,共计128个字节。系统在加电引导机器时,要读取CMOS信息,用来初始化机器各个部件的状态。它靠系统电源和后备电池来供电,系统掉电后其信息不会丢失。 BIOS是基本输入输出系统的缩写,指集成在主板

  • 问题内容: 是否完全违反Java创建类结构对象的方式? 我可以看到一个类,其访问器和增变器更像Java。 第一个示例中的类在符号上很方便。 这不是那么方便。 问题答案: 这是一个经常讨论的话题。在对象中创建公共字段的缺点是您无法控制为其设置的值。在有许多程序员使用同一代码的小组项目中,避免副作用很重要。此外,有时最好返回字段对象的副本或以某种方式对其进行转换等。您可以在测试中模拟此类方法。如果创建

  • dagger2是否可以和Guice一样与jersey一起使用? 是否有任何dagger2 servlet或dagger2 jersey项目?

  • MIP 页面上的样式和布局和普通的 HTML 页面十分类似,都是需要使用 CSS。不同的是,MIP 为了性能和易用性考虑,对 CSS 的使用做了一定的限制,与此同时,针对响应式设计,MIP 做出了一些扩展来更好地展示页面元素,如占位符和备用行为,媒体查询和元素查询,layout 属性等。 在本章节中,我们将学习 MIP 是如何利用上述提到的功能来更好地展示页面。 章节索引 组件布局 介绍组件支持的