Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript requestFullScreen()是否仅适用于宽度和相对位置?_Javascript_Html_Canvas - Fatal编程技术网

Javascript requestFullScreen()是否仅适用于宽度和相对位置?

Javascript requestFullScreen()是否仅适用于宽度和相对位置?,javascript,html,canvas,Javascript,Html,Canvas,我正在用canvas编程,希望添加全屏支持。我发现API及其工作方式存在一些问题: 首先,我认识到全屏模式使用显示器的全宽。但我的画布元素是正方形的,所以并不是所有的高度都显示在16:9的显示器上。是否可以根据元素的高度全屏显示 另一个问题是,全屏似乎不支持绝对定位元素。我的代码如下所示: <div id="canvasWrapper" style="positon: relative;"> <p><button ng-click="fullscreen()

我正在用canvas编程,希望添加全屏支持。我发现API及其工作方式存在一些问题:

首先,我认识到全屏模式使用显示器的全宽。但我的画布元素是正方形的,所以并不是所有的高度都显示在16:9的显示器上。是否可以根据元素的高度全屏显示

另一个问题是,全屏似乎不支持绝对定位元素。我的代码如下所示:

<div id="canvasWrapper" style="positon: relative;">
    <p><button ng-click="fullscreen()">Go Fullscreen</button></p>
    <canvas id="bgCanvas" style="position: absolute; border: 1px #E5E5E5 solid;"></canvas>
    <canvas id="canvas" style="position: absolute; border: 1px #E5E5E5 solid;"></canvas>
</div>

全屏

这段代码为我的画布启用了多个层。但当我全屏显示div“canvasWrapper”时,生成的屏幕居中且非常小

是否可以根据元素的高度全屏显示

不,全屏模式不关心它从中启动的元素的比例-它将使用屏幕尺寸作为目标

您需要在代码中通过填充边来处理此问题

另一个问题是,全屏似乎不支持绝对定位元素

就我所能看到的而言,这本书并没有说什么,只是浏览了一下。然而,全屏模式目前在大多数主流浏览器中都处于实验状态,而且其行为可能因浏览器而异,而且不稳定,容易出现错误

发件人:

值得注意的是Gecko和WebKit之间的一个关键区别 此时的实现:Gecko自动将CSS规则添加到 要拉伸它以填充屏幕的元素:“宽度:100%;高度: 100%". WebKit不会这样做;相反,它将全屏居中 屏幕中相同大小的元素,否则为黑色。得到 与WebKit中的全屏行为相同,您需要添加自己的 “宽度:100%;高度:100%;”CSS规则适用于元素本身[…] 另一方面,如果您试图模仿WebKit在上的行为 Gecko,你需要把你想展示的元素放进去 另一个元素,您将改为全屏显示,并使用CSS 调整内部元素以匹配所需外观的规则

如果您还没有,您应该在不同的浏览器中检查结果,看看您正在经历的行为是否不同或相同