缩放 CSS 样式不适用于定位的绝对 div 元素,它在 IE 中是子元素



下面是用于测试的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"。现在,缩放的父元素中的所有元素也应该进行缩放。

相关内容

最新更新