canvas元素看起来像是填充的,但是css说不是

canvas元素看起来像是填充的,但是css说不是,css,p5.js,Css,P5.js,在我的p5.js代码中,我希望画布与屏幕左上角对齐。然而,画布似乎不想合作,看起来画布顶部有填充物 当CSS中的display类设置为block(默认值)时,画布的顶部似乎有一个填充,但是您不能使用CSS来更改它。我只希望画布与左上角对齐 我尝试过使用padding-top、padding、block:inline和overflow:hidden来操纵CSS,但它们都不起作用,然而,block:inline似乎改变了画布,使padding位于左侧而不是顶部 简单地说,我试着在我的素描中这样做:

在我的p5.js代码中,我希望画布与屏幕左上角对齐。然而,画布似乎不想合作,看起来画布顶部有填充物

当CSS中的display类设置为block(默认值)时,画布的顶部似乎有一个填充,但是您不能使用CSS来更改它。我只希望画布与左上角对齐

我尝试过使用padding-top、padding、block:inline和overflow:hidden来操纵CSS,但它们都不起作用,然而,block:inline似乎改变了画布,使padding位于左侧而不是顶部

简单地说,我试着在我的素描中这样做:

function setup() {
  createCanvas(900, 600);
}

function draw() {
  draw_my_stuff_here();
}
尽管这段代码正常工作,但是,draw_my_stuff_here()中的内容似乎是;某种原因导致了这个问题的发生

一个更简单的版本,是一个非常类似的设置,但实际上可以工作。区别在于它不使用场景管理器。 一个只使用一个矩形的SceneManager的版本可以工作,并且可以是

我希望画布的左上角与屏幕的左上角对齐,但它不能做到这一点,我不知道为什么。我的调试没有解决它。我查看了p5.js github,但没有发现任何类似的问题,老实说,问题可能出在我的代码中(而不是p5.js的问题)


在我的代码中,我使用了一个lib,它允许我拥有不同的场景,因此实际运行的代码(draw函数)位于game.js中。你会发现我在那里写的代码。

我想看看在HTML和正文上设置填充、边距(甚至边框)会做什么

html, body {
  border: 0px; 
  margin: 0px;
  padding: 0px;
}
试试这个,看起来canvas元素的原始CSS在应该有分号的地方有一些逗号

canvas {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

我想看看在HTML和正文上设置填充、边距(甚至边框)会有什么效果

html, body {
  border: 0px; 
  margin: 0px;
  padding: 0px;
}
试试这个,看起来canvas元素的原始CSS在应该有分号的地方有一些逗号

canvas {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

我遇到的问题是画布应该放在哪里是不明确的,所以CSS可以对画布做任何它想做的事情。通过做

canvas {
  display: block;
  position: absolute; 
  left: 0;
  top: 0;
}

它迫使CSS将其放置在左上角。感谢@Andrea和@jdevo为我的问题提供了解决方案。

我遇到的问题是画布应该放在哪里是不明确的,所以CSS可以随心所欲地处理画布。通过做

canvas {
  display: block;
  position: absolute; 
  left: 0;
  top: 0;
}


它迫使CSS将其放置在左上角。感谢@Andrea和@jdevo为我的问题提供了解决方案。

您是否考虑过可能是填充的页面?你在页面上设置了空白:0,边距:0了吗?或者,画布是否设置为位置:绝对、左侧:0、顶部:0?能否请您将问题缩小到简化的范围?只需画一个矩形并检查填充问题。@KevinWorkman我对它做了一点简化,并编辑了我的帖子,使其包含一个更简单的版本,但问题并没有发生在那个版本中。我不认为这会有帮助,但这也让我认为这可能是库p5.SceneManager.js的一个问题,因为我没有在更简单的版本中使用该库。@Andrea我尝试将位置设置为您所说的位置,但我认为我的格式不正确。你能给我举一个代码块的例子吗?你有没有考虑过它可能是被填充的页面?你在页面上设置了空白:0,边距:0了吗?或者,画布是否设置为位置:绝对、左侧:0、顶部:0?能否请您将问题缩小到简化的范围?只需画一个矩形并检查填充问题。@KevinWorkman我对它做了一点简化,并编辑了我的帖子,使其包含一个更简单的版本,但问题并没有发生在那个版本中。我不认为这会有帮助,但这也让我认为这可能是库p5.SceneManager.js的一个问题,因为我没有在更简单的版本中使用该库。@Andrea我尝试将位置设置为您所说的位置,但我认为我的格式不正确。你能给我一个代码块中的例子吗?我已经在html、正文和画布上尝试过了,一次一个,一起尝试,但都没有成功。啊哈-我想我看到你的CSS中有一个错误。你能为canvas元素试试这个吗?canvas{display:block;position:absolute;left:0;top:0;}是的,你上面的某个人也提到了这一点。我在格式化它时遇到了问题,但结果是正确的,因为答案的格式不正确。我编辑了我的答案,为Canvas元素添加了正确格式的CSS,在p5.jsyeah中进行了测试。我没有试图在我的评论中编写语法正确的CSS。我在html、正文和画布上都尝试过,一次一个,并且一起尝试,但没有成功。啊哈-我想我看到了你的CSS中的错误。你能为canvas元素试试这个吗?canvas{display:block;position:absolute;left:0;top:0;}是的,你上面的某个人也提到了这一点。我在格式化它时遇到了问题,但结果是正确的,因为答案的格式不正确。我编辑了我的答案,为Canvas元素添加了格式正确的CSS,在p5中进行了测试。是的,我并没有试图在我的评论中编写语法正确的CSS