2013-02-27 66 views
1

我試圖用純css來設計組合框的風格,並找到一些教程並創建組合框。它在Chrome和Firefox上運行良好。z-index在IE8中不工作?

請看看我創建的樣式。

http://jsfiddle.net/SnU3d/1

label 
{ 
    position:relative; 
    z-index:9999; 
} 


label:after 
{ 
    content:'?'; 
    font:11px "Consolas", monospace; 
    color:#009FDF; 
    font-size:120%; 
    pointer-events:none; 
    background: #fff; 
    border:1px solid #999; 
    width:30px; 
    height:24px; 
    margin-bottom:2px; 
    position:absolute; 
    border-left:0px; 
    right:-1px; 
    z-index:99; 
} 

我發現這方面的一些其他教程。 IE7/IE8 z-index problementer link description here

所以我把zindex設置爲父標籤的較高值,但仍然沒有在IE8中出現after僞元素。爲什麼?如何顯示後續內容?

+0

題外話,但你認爲'font:11px ... font-size:120%'是做什麼的? – 2013-02-27 20:54:39

+0

無論如何,首先要檢查的是您的頁面是否以標準符合模式呈現。在怪癖模式下,IE8恢復爲較舊的渲染引擎,它不支持'content'和/或':after'。 – 2013-02-27 20:58:33

+0

@MrLister fontsize是爲了使三角形顯得稍大一點。我刪除了字體:11px,在這裏很抱歉。並且我正在以標準模式獲取內容。唯一的問題是在z-index中。 – svk 2013-02-27 21:06:45

回答

0

:after僞元素創建你把它應用到(Label)元素的一個孩子,並分配給父(label),無論該值是z-index值,造成內,一個新的堆疊內容元素,所以最終會在堆疊上下文的級別9999中生成一個父元素(label),並在其自身堆棧上下文的級別99中生成一個子元素(label:after),父級(label)始終會爲其生成作爲背景(底部)。