2012-11-23 25 views
1

我需要使用之前/之後的標記添加圖層。但是,在Opera瀏覽器中,計算附加到button::after僞元素的填充屬性是錯誤的(其他標籤效果很好)。只有當我設定一個更大的價值時,它纔會開始增加。Opara CSS button :: after {padding:...}錯誤

http://jsfiddle.net/c8756/(見歌劇,然後在任何其他瀏覽器)

我曾嘗試各種display值設置爲兩個按鈕和::元素之後,但無論如何,它不工作。

有沒有什麼方法可以在不觸及HTML的情況下修復Opera中的錯誤?

感謝

+0

你確定你需要':: after'嗎? 'outline:6px solid#d00;'似乎有相同的視覺效果:http://jsfiddle.net/thirtydot/c8756/1/ – thirtydot

+0

是的,因爲我有mach複雜的CSS風格化::之後,必須有邊框,陰影和邊框半徑 –

回答

1

http://codepen.io/morewry/pen/rJmCg。刪除display,widthheight並添加rightbottom

a::after, 
button::after { 
    content:""; 
    padding:6px; 
    position:absolute; 
    left:-6px; top:-6px; right: -6px; bottom: -6px; 
    z-index:-1; 
} 

技術作爲http://nicolasgallagher.com/multiple-backgrounds-and-borders-with-css2/

注意替換元素(包括大多數表單元素),BR,人力資源,和IMG都不會發揮好與前::和::之後。

+0

我認爲這是不可能解決這個問題只使用CSS,所以我已經使用JS修復它。所以現在我會用你的代碼重新制作它。謝謝你的幫助! –