Canvas画出来的图形为什么显示不出来?
我照着教程写了个简单的Canvas画矩形的代码,但页面上啥也看不到,控制台也没报错。是不是哪里漏了?我检查了canvas的宽高和getContext,看起来没问题啊。
这是我的HTML代码:
<canvas id="myCanvas" width="400" height="300"></canvas>
<script>
const canvas = document.getElementById('myCanvas');
const ctx = canvas.getContext('2d');
ctx.fillStyle = 'red';
ctx.fillRect(50, 50, 100, 100);
</script>
显示不出来最可能的原因是CSS把canvas样式改了。你检查一下:
1. 打开浏览器开发者工具,看看canvas元素Computed里的width和height是不是400x300。如果CSS里写了canvas { width: 100px; }之类的,会把画布拉伸变形,矩形位置就错位了,可能跑到视口外面去了。
2. 看看canvas有没有被 display: none 或者 visibility: hidden 之类的藏着。
3. 检查一下canvas的背景色,默认是透明的,你可能没注意到红色矩形画在白色背景上。
快速排查方法:直接在开发者工具里给canvas加个边框看看
如果边框出来了但矩形还是看不见,那把fillRect的参数改大点试试,比如 fillRect(0, 0, 400, 300) 填满整个画布,看有没有红色。