後,這是在IE8已知的錯誤,看看最後一個錯誤的位置:
http://nicolasgallagher.com/css-typography-experiment/demo/bugs.htmlz-index的IE8漏洞:
現在,打了一下,用一個簡單的例子,我發現這個(測試它使用IE8):
http://jsfiddle.net/AjCPM/
<div id="target">
<div>div</div>
</div>
#target {
position: relative;
width: 200px;
height: 200px;
z-index: 1;
}
#target>div{
background: red; width: 200px; height: 200px;
position: relative;
z-index: 0;
}
#target:before {
top: 0; left: 10%; width: 100%; height: 100%; background: cyan;
content: "after";
position: absolute;
z-index: 10;
}
IE8呈現青色矩形(:後)紅色矩形的下方,即使當它具有較低的z索引。
而現在棘手的部分:
將#target> div的z-index從0更改爲-1,並且voilá!它解決了!
所以我現在用了很多z-index解決了我的問題:-1;
但我對此感到不安。
你知道更好的解決方案嗎?
我使用:僞元素後,因爲我有一個產品的列表,並且我想要添加一個圖像的時候,它的類'賣'例如。
我可以在服務器中創建一個新的html元素,但我認爲使用:after是正確的語義解決方案。
問題是,我有點偏執了一點:現在僞元素現在你認爲最好避免它嗎?
您的初始解決方案正是我所需要的,謝謝。 – 2012-05-30 08:36:34
您的意思是:之前或之後:在這裏?你的代碼使用一個,但你的問題是另一個。 – Eric 2012-06-27 23:20:11
請注意[CSS生成的內容的輔助技術支持不一致](http://www.456bereastreet.com/archive/201205/css_generated_content_and_screen_readers/)。 「已售出」消息似乎很重要,足以確保AT用戶能夠看到它。 – steveax 2012-06-28 00:10:33