Html 如何动态调整div的大小?
我找到了一些关于动态地对Html 如何动态调整div的大小?,html,resize,raphael,Html,Resize,Raphael,我找到了一些关于动态地对divs执行操作的答案,但没有一个是我想要的。 我正在使用拉斐尔js向量库,需要一个用于绘制对象的画布的div。例如: <html> <head> <style> #canvas { height: 2000px; position: absolute; width:
div
s执行操作的答案,但没有一个是我想要的。
我正在使用拉斐尔js向量库,需要一个用于绘制对象的画布的div。例如:
<html>
<head>
<style>
#canvas
{
height: 2000px;
position: absolute;
width: 1500px;
}
</style>
</head>
<body>
<div id="canvas"></div>
<!-- some code here -->
</body>
</html>
现在在我的应用程序中,用户将通过创建像上面显示的r
和c
这样的对象来填充画布。但问题是,一旦在画布的维度之外创建了对象,它就不会显示在纸/画布上
我正在尝试动态放大div的大小,即高度:3000px,宽度:2000px。我找到了一些关于绝对位置的答案
,但没有帮助。还可以找到关于div溢出的内容,但这适用于div的父元素。任何帮助都将不胜感激 您需要做的是调整包含div和纸张的大小。在本例中,我将显示您的圆是从右下角裁剪的
单击画布时,它将调整大小以显示正确绘制了圆
看
在本例中,我使用的是任意大小,您可以不断检查添加的每个对象的位置和大小,并在检查其边界框时找到在x和y上具有最大值的项目,然后调整大小以达到此目的。因此,纸张将始终适合添加的项目。哦,您并不真正需要位置:绝对,我保留了您在JSFIDLE示例中已有的位置。
var paper = Raphael("canvas"),
r = paper.rect(100, 100, 100, 100),
c = paper.circle(500, 500, 80);
var paper = Raphael("canvas"),
r = paper.rect(100, 100, 100, 100),
c = paper.circle(500, 500, 80);
// size i want to resize to
var w = 1000;
var h = 1000;
var canvas = $('#canvas');
canvas.on('click', function(){
// resize container
$(this).css({width: w, height: h});
// resize paper
paper.setSize(w, h);
});