下面是用于测试的html代码。在其他浏览器中,所有的3维都按比例缩小0.5。然而,在IE(包括IE9)中,绝对定位的div(第二深度div)及其子div(第三深度div)没有正确地按比例缩小。
如何正确地将缩放样式应用于所有div?
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="zoom:0.5">
<div style="width:400px;height:400px;background:red">
<div style="position:absolute;width:200px;height:200px;background:black">
<div style="width:100px;height:100px;background:blue"></div>
</div>
</div>
</body>
</html>
zoom
是一个非标准的IE属性。其他一些浏览器(如firefox)会简单地忽略它
缩放元素的标准兼容方式是使用scale()
变换函数。
body {
-webkit-transform: scale(.5);
-moz-transform: scale(.5);
transform: scale(.5);
}
比较http://jsfiddle.net/tqMsv/(缩放)http://jsfiddle.net/tqMsv/1/(比例)
将父元素样式设置为"position:relative"。现在,缩放的父元素中的所有元素也应该进行缩放。