当浏览器变小时,无法缩小100%宽度的图像的大小
||
tl; dr:当图像占用100%的宽度和高度,并且用户缩小浏览器的大小时,文档的宽度和高度不会改变,因为图像不会缩小。
我有一个动态绘制的SVG图像(由RaphaelJS创建),占用了屏幕宽度和高度的100%。它占用的空间包括不可见的空间,但可以通过滚动查看(因此,不只是视口的宽度和高度,它还有可能超出此范围)。我需要将SVG画布的大小调整为文档的大小,以便在用户将浏览器的大小调整为较小时,滚动条不会仅针对图像显示,并且在用户使用时,图像不会被切掉将浏览器调整为更大的尺寸。
调整大小可以正常工作,但是调整大小会出现故障。当用户从小到大调整大小时,这可以很好地工作,并且SVG会扩展以适合窗口,但是当用户从大到小调整大小时,实际图像会阻止文档变小,因为它是文档的一部分。结果是图像将增长但不会缩小,从而导致滚动条仅用于图像,即使实际内容都适合屏幕内部。
这是我目前计算SVG画布大小的方法:
function getDocHeight() {
var D = document;
return Math.max(
Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
Math.max(D.body.clientHeight, D.documentElement.clientHeight)
);
}
function getDocWidth() {
var D = document;
return Math.max(
Math.max(D.body.scrollWidth, D.documentElement.scrollWidth),
Math.max(D.body.offsetWidth, D.documentElement.offsetWidth),
Math.max(D.body.clientWidth, D.documentElement.clientWidth)
);
}
那么,如何获得图像以防止文档变小?基本上,getDocWidth和-Height在计算文档的宽度和高度时需要忽略图像的尺寸。
没有找到相关结果
已邀请:
1 个回复
宠封钞轰