我正在构建一个模块来显示html divs(页面),这些页面旨在在以后的阶段中打印为A4。但是,显示这些div的区域很小,无法显示div的整个宽度,因此页面及其内容需要按比例缩小以适合手边的显示区域。

a4页面的子元素使用设置的宽度/高度和百分比进行样式设置,因此使用CSS3的Transform缩放比例将页面缩小到足以显示页面的方式是一种不错的方法,但是由于缩放比例,这成为了问题在渲染后完成,因此在页面周围创建了白色区域。

我正在使用jquery在调整窗口大小时重新调整页面大小,并且在页面加载时也将实现此目的。

如何在通用包装器中缩放多个div,并重新调整父级,以便显示缩放后的div周围没有填充?

编辑:我整理了一个简单的小提琴,显示问题http://jsfiddle.net/96jkU/

#toBeScaled应该显示在#displayArea的整个宽度上,但仍会缩放为0.5

最佳答案

如果我对问题的理解正确,则您希望缩放后的div位于父div的左上角。
在这种情况下,问题在于默认情况下转换原点设置为50% 50%。这对旋转很有用(您通常希望绕其中心旋转一些东西),但实际上并不适合缩放。您的div缩小到了原来的中心。

解决方案:您要做的就是添加

transform-origin:0 0;


(具有正确的前缀)为#toBeScaled的样式。

请参见updated fiddle

09-06 02:37
查看更多