我的页面页脚中有一个导航栏,除了当然在IE7中,所有内容都已设置好。
我使用:after伪元素放置管道“|”在导航栏中的每个<li>
之后,但在IE7中,它不会显示。
这不是一件大事,它不是那么丑陋,但我似乎无法找到任何东西来捣乱它或诱骗IE7使其发挥作用。
答案 0 :(得分:4)
截至2012-01-03,此脚本仅支持:在IE8之前和之后:http://code.google.com/p/ie7-js/
截至2012-01-03,提到here的Selectivizr没有:之前和之后。
截至2012-01-03,这看起来并不准备(尽管可能是这样):https://github.com/kevindees/ie7_pseudo_elements
我一直在寻找一种方法让这些假元素在IE7上运行,但看起来无法完成。
答案 1 :(得分:2)
就个人而言,我可能会使用jQuery添加<span>|</span>
:before
或: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>');
答案 2 :(得分: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 = '|');}
答案 3 :(得分:0)
我自己没试过。
但我现在有一个书签了。
编辑:
确保您还阅读了包含一些有用信息的评论(例如jQuery)