0

我发现下面的代码在IE8、IE9和firefox上都可以完美运行,但是在IE7上就不能正常运行了,向上箭头显示不出来,为什么?

CSS:

.arrow_box {
    position: relative;
    background: #88b7d5;
    border: 4px solid #c2e1f5;
}
.arrow_box:after, .arrow_box:before {
    bottom: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.arrow_box:after {
    border-color: rgba(136, 183, 213, 0);
    border-bottom-color: #88b7d5;
    border-width: 30px;
    left: 50%;
    margin-left: -30px;
}
.arrow_box:before {
    border-color: rgba(194, 225, 245, 0);
    border-bottom-color: #c2e1f5;
    border-width: 36px;
    left: 50%;
    margin-left: -36px;
}

HTML:

<br/>
<br/>
<br/>
<div class="arrow_box"><h1 class="logo">css arrow please!</h1></div>
4

1 回答 1

3

:before:afterIE7 不支持和选择器。

您要么必须将 CSS 更改为不使用:beforeand :after,要么可以使用 js shiv,它基本上可以使用 javascript 模拟这些选择器的行为。这是一篇关于如何做到这一点的帖子。

于 2013-10-12T07:00:10.900 回答