1

https://stackoverflow.com/a/12059220/1421561

我喜欢 Davids 代码,但想知道在 < IE7 中支持它的最佳方式。我的第一个想法是使用“如果有孩子添加班级”的声明。然后该类将链接到以类似方式定位的背景图像。

你的解决方案是什么?

这是戴维斯小提琴:http: //jsfiddle.net/w9xnv/2/

编辑:在 < IE7 中对此的支持:

.menu li > a:after { margin-left: 5px; content: '\25BA'; }
4

2 回答 2

1

不幸的是,我不知道在 IE7 或更早版本中支持:beforeand选择器的任何方法。:after它根本不受支持。

对于很多 CSS 的东西,有一些技巧可以迫使旧的 IE 工作——像SelectivizrCSS3Pie这样的工具。

但是我知道没有这样的黑客:after。对于那个很抱歉。

你可以自己研究一下:

我真诚的建议是在您的网站上放弃对 IE7 的支持。除非您有特定的支持需求,否则几乎没有人会注意到——如今,IE7 用户很少;它的使用量比 IE6 下降得快得多,如今它们都占全球浏览器使用量的 1% 以下。自己判断是否值得为那一半的用户(他们可能已经习惯于看到无论如何都不能正常工作的网站)出汗。

于 2012-10-20T20:11:13.023 回答
0

似乎没有人读到我想要一个 jQuery 备份。我已经明白,IE7 的 CSS 不支持这一点。

无论如何,这是我的解决方案,如果有人会寻找同样的东西。

JS(jQuery):

<!--[if IE 7]>
    <script type="text/javascript"> 
         $(function () {
             $("#mainnavi li:has(ul)").addClass("ie7_dropdown_arrow");
         });    
    </script>   
<![endif]-->

CSS:

#mainnavi .ie7_dropdown_arrow {
    *background: url(../images/dropdown_arrow.png) no-repeat right 0px;
    *padding-right: 20px;
}

#mainnavi .ie7_dropdown_arrow:hover {
    *background: url(../images/dropdown_arrow.png) no-repeat right -15px;   
}
于 2012-10-21T14:13:54.603 回答