2013-06-24 42 views
1

下面是用于测试的html代码。 在其他浏览器中,所有3-div缩小0.5。 但是在IE(包括IE9)中,绝对定位的div(第二深度div)和它的子div(第三深度div)没有正确缩小。缩放css样式不适用于定位的绝对div元素,它是IE中的子元素

如何正确应用所有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> 
+0

(不是说这个问题对手头的问题很重要,而是为了您自己对材料的理解)这是HTML还是XHTML?而''标签会让我们相信它是XHTML,否则''''元素会以两种不同的方式尖叫。 –

回答

1

zoom是一个非标准的IE属性。一些其他浏览器(如Firefox)将简单地忽略它

缩放元素的标准兼容方式是使用scale()transform-function

body { 
    -webkit-transform: scale(.5); 
    -moz-transform: scale(.5); 
    transform: scale(.5); 
} 

比较http://jsfiddle.net/tqMsv/(变焦)与http://jsfiddle.net/tqMsv/1/(规模)

+0

谢谢!你的提示非常有帮助!对于更多的信息,我研究和发现这个链接http://stackoverflow.com/questions/3055383/dximagetransform-matrix-absolutely-position-child-elements-not-rotating-in-ie-8/6268206#6268206 –

+0

添加绝对定位div和progid的z-index:旧版IE的DXImageTransform.Microsoft.Matrix属性工作正常!' –

+0

@장지윤,那么你应该将它标记为答案;) – toddmo

0

设置父元素风格 “的位置是:相对”。 现在缩放父元素内的所有元素也应该放大。