2013-06-24 40 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

設置父元素風格 「的位置是:相對」。 現在縮放父元素內的所有元素也應該放大。