旋转和位置:绝对值(IE8及更低)

时间:2011-10-17 11:59:17

标签: html css internet-explorer rotation

我在Internet Explorer 8及更低版本中出现旋转问题。 我能够旋转父div,但是子(绝对定位)不会与其父级一起旋转。当我没有将孩子定位为绝对时,它会做正确的旋转。

这是我的代码

<!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>

当您在IE8中查看此代码时,这就是结果

enter image description here

我希望绿色div与红色div具有相同的旋转。

谢谢!

2 个答案:

答案 0 :(得分:1)

变通方法:使用类将旋转应用于任何子绝对定位元素:

css:

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

HTML:

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

答案 1 :(得分:-1)

IE8中的错误。

这是解决此问题的简单有效方法:

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

在头顶插入