【发布时间】:2015-08-26 15:26:10
【问题描述】:
我有一个包含画布的 div:
<div class="canvas-wrapper">
<canvas height="30px"></canvas>
</div>
“canvas-wrapper”类的 CSS:
.canvas-wrapper{
width: 100%;
overflow: hidden;
}
每当 div 的宽度发生变化时,画布宽度就会更新(Angular 指令):
link: function(scope, element, attr){
var canvas = element.find('canvas')[0];
var div = element.find('div')[0];
scope.$watch(function(){
return div.offsetWidth;
}, function(newVal, oldVal){
canvas.width = newVal;
});
}
我已经通过调整浏览器宽度对此进行了测试。当我增加窗口时它工作正常,但当我减少窗口时,div 不会调整大小。
我猜这是因为它包含画布,但我该如何解决呢?画布应该遵循 div 宽度,而不是块调整大小。
有什么想法吗?
【问题讨论】:
-
如何以百分比设置画布宽度?
-
像 width="100%" 这样在 HTML 中设置宽度不起作用,但按照 Amit 的建议添加 CSS 全宽就可以了。