2011-10-17 10 views
5

Mam problem z obrotem w Internet Explorerze 8 i niższym. Jestem w stanie obrócić div rodzica, ale dziecko (ustawione absolutnie) nie obraca się z rodzicem. Kiedy nie ustawiam bezwzględnego elementu potomnego, robi on właściwy obrót.Obrót i pozycja: bezwzględna (IE8 i niższa)

Oto mój kod

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 


<style> 
    .parent 
    { 
     background-color: #f00; 
     position: absolute; 
     top: 300px; 
     left: 300px; 
     width: 500px; 
     height: 500px; 

     filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476, sizingMethod='auto expand'); //45deg 
    } 

    .child 
    { 
     background-color: #0f0; 
     position: absolute; 
     top: 150px; 
     left: 150px; 
     width: 300px; 
     height: 300px; 
    } 


</style> 

</head> 

<body> 

<div class="parent"> 
    This is the parent 
    <div class="child"> 
     This is the child 
    </div> 
</div> 



</body> 
</html> 

Po wyświetleniu tego kodu w IE8, to jest to wynik

enter image description here

chciałbym że zielony div ma taką samą rotację jako czerwony div.

Dzięki!

+0

Po prostu z ciekawości, dlaczego obracasz div? Nigdy nie znalazłem na to żadnego pożytku, jestem po prostu ciekawy twoich motywów. – FreeSnow

+0

Muszę stworzyć stronę, która wygląda trochę jak prezentacja prezi :). http://prezi.com/ – Vinzcent

+0

Och, fajny pomysł. Powodzenia :) – FreeSnow

Odpowiedz

1

Obejście: użyć klasy stosuje rotację do dowolnego elementu dzieciom bezwzględne położenie:

css:

.rotate { 
     filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476, sizingMethod='auto expand'); //45deg 
} 

html:

+0

To działa, ale pozycja dziecka w stosunku do rodzica nie jest taka sama jak w przypadku braku rotacji. – Vinzcent

+2

dodanie "z-index" z dowolną wartością do rodzica powinno rozwiązać problem. Znalezione tutaj: http://stackoverflow.com/questions/3055383/dximagetransform-matrix-absolutely-position-child-elements-not-rotating-in-ie-8/6268206#6268206 – achairapart

-1

Błąd w IE8.

to prosty i skuteczny sposób, aby rozwiązać ten problem:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

wkładka powyżej udać

Powiązane problemy