【发布时间】:2014-08-21 02:12:18
【问题描述】:
我有一个绝对定位的盒子:
#box {
display: block;
position: absolute;
width: 100px;
height: 100px;
z-index: 100;
top: 50px;
left: 50px;
border: 1px solid #000;
}
它有一个“箭头”,实际上是一个绝对定位的正方形,位于 :after 伪元素中。为了让它看起来像一个箭头,我想将正方形逆时针旋转 45 度:
#box:after {
display: block;
position: absolute;
width: 10px;
height: 10px;
top: 10px;
left: -6px;
right: auto;
border-top: 1px solid #666;
border-left: 1px solid #666;
background-color: #fff;
content: "";
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}
这工作正常,除了 IE8。为了让它在 IE8 中旋转,我添加了规则:
#box:after {
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865482, M12=0.7071067811865466, M21=-0.7071067811865466, M22=0.7071067811865482), SizingMethod='auto expand'";
}
但是,这不起作用。我已经验证了 -ms-filter 是否有效:例如,如果我将该规则应用于#box 元素,#box 会在 IE8 中旋转。但是 :after 伪元素无法识别 -ms-filter 规则。有人知道是否可以在 IE8 中旋转 :after 伪元素,如果可以,怎么做?
【问题讨论】:
标签: css internet-explorer-8 pseudo-element pseudo-class