模拟CSS中的浏览器缩放

模拟CSS中的浏览器缩放,css,zooming,Css,Zooming,我试过两种我知道的缩放方法: zoom:2; 而且 transform:scale(2); 然而,尽管它们确实可以工作(某种程度上),但有一个主要缺陷:JavaScript鼠标事件被忽略 我似乎不知道如何获得鼠标坐标,就好像页面没有缩放一样 此外,我必须添加body{width:50%},以确保它不会导致巨大的水平滚动 另一方面,如果我只是使用本机浏览器缩放页面,结果是完美的。一切都显示正确,鼠标事件正常工作,主体保持其实际宽度,等等 有没有办法让这种自然的浏览器缩放在CSS中工作?如果没有

我试过两种我知道的缩放方法:

zoom:2;
而且

transform:scale(2);
然而,尽管它们确实可以工作(某种程度上),但有一个主要缺陷:JavaScript鼠标事件被忽略

我似乎不知道如何获得鼠标坐标,就好像页面没有缩放一样

此外,我必须添加
body{width:50%}
,以确保它不会导致巨大的水平滚动

另一方面,如果我只是使用本机浏览器缩放页面,结果是完美的。一切都显示正确,鼠标事件正常工作,主体保持其实际宽度,等等


有没有办法让这种自然的浏览器缩放在CSS中工作?如果没有,我应该使用什么样的JavaScript来确保鼠标坐标“缩放”正确?

我认为没有办法通过编程控制本机浏览器的缩放。您可以改为使用Javascript控制CSS对文档的缩放,同时跟踪当前缩放级别,然后使用当前缩放级别作为修改器过滤鼠标坐标。例如,如果您处于50%缩放,将鼠标坐标乘以0.5将保持同步


请注意,
zoom
属性是MSIE专有的,尚未被普遍采用,因此它可能无法在所有浏览器中工作:

为什么人们需要它?放大文本还不够吗?
zoom
可能一开始是IE专有的,但现在是。目前,最新版本的Chrome、Safari、Opera以及IE都支持它。Firefox中还没有实现它——这里有一个。@RoryO'Kane谢谢,这对我来说是新闻。我更新了答案以反映这一点。