I have a nav bar in my footer of my page which is all set up and working in everything except, of course, in IE7.
I used the :after pseudo element to place a pipe "|" after each <li>
in the nav bar, but in IE7, it doesn't show up.
It's not a big thing, it's not that ugly, but I can't seem to find anything to cludge it or trick IE7 to make it work.
问问题
7657 次
4 回答
4
不。
截至 2012-01-03,此脚本仅支持 :before 和 :after 在 IE8 上:http ://code.google.com/p/ie7-js/
截至 2012 年 1 月 3 日,此处提到的 Selectivizr没有 :before 和 :after。
截至 2012 年 1 月 3 日,这看起来还没有准备好(尽管可能是):https ://github.com/kevindees/ie7_pseudo_elements
我一直在寻找一种让这些伪元素在 IE7 上工作的方法,但看起来无法完成。
于 2012-01-03T23:08:37.190 回答
2
就我个人而言,我可能会使用 jQuery 添加一个<span>|</span>
:before
or :after
。如果你只需要它来解决这个简单的问题,它可能会比整个库更轻量级(当然,这只有在你已经在使用 jQuery 时才有意义。
$('.element-with-after-class').append('<span class="ie-safe-pseudo-after>|</span>');
或者
$('.element-with-before-class').prepend('<span class="ie-safe-pseudo-before>|</span>');
或者
$('.element-with-after-class:not(.element-with-after-class:last-child)').append('<span class="ie-safe-pseudo-after>|</span>');
于 2012-01-03T23:20:35.350 回答
2
这是您的工作 IE7 代码:
HTML:
<ul>
<li>link</li>
<li>link</li>
<li>link</li>
<li>link</li>
</ul>
CSS:
li {display: inline;}
li {*zoom: expression( this.runtimeStyle.zoom="1", this.insertBefore( document.createElement("i"), this.firstChild).className="ie-before" );}
li .ie-before {*zoom: expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = '|');}
于 2012-09-04T08:04:23.983 回答
0
自己没试过。
但我现在有一段时间的书签了。
编辑:
确保您还阅读了包含一些有用信息的评论(例如 jQuery)
于 2011-01-07T17:39:44.663 回答