IE8 e IE9: before e: after elementos posição absoluta estão escondidos

Eu estou tentando criar um botão com "caps" em cada extremidade e um fundo de repetição, a fim de manter o botão um tamanho flexível.

Para fazer isso, usei o:before e:after pseudo-elementos em CSS, junto composition:absolute para obtê-lo fora do espaço coberto pelo fundo do botão principal (usando valores negativos).

Ele funciona em FF e Chrome, mas parece que no IE8 e 9, as imagens estão lá, mas estão "fora" do botão e, portanto, estão ocultas. Alguém sabe como colocar esses pseudo-elementos "fora" do botão, para que eles possam renderizar?

Eu quero manter o HTML parasomente a<button></button> elemento, e estou usando SASS. Você pode ver um jsFiddle aqui:http://jsfiddle.net/Dqr76/8/ ou o código abaixo:

button {
    display: inline-block;
    zoom: 1;
    *display: inline;
    border:0;
    background-image: url(../images/btn_bg.png);
    background-repeat: repeat-x;
    color: #fff;
    font-weight: bold;
    height: 22px;
    line-height: 22px;
    position: relative;
    margin: 0 5px;
    vertical-align: top;

    &:before {
        display: inline-block;
        height: 22px;
        background-image: url(../images/btn_left.png);
        width: 5px;
        position: absolute;
        left: -5px;
        top: 0;
        content: "";
    }

    &:after {
        display: inline-block;
        height: 22px;
        background-image: url(../images/btn_right.png);
        width: 5px;
        position: absolute;
        right: -5px;
        top: 0;
        content: "";
    }
}

Apenas um sidenote, antes que alguém o faça, eu sei que esses pseudo-elementos não funcionam no <IE8, e criaram uma solução que não está afetando este problema.

questionAnswers(1)

yourAnswerToTheQuestion