IE8 i IE9: before i: po elementach pozycja absolutna jest ukryta

Próbuję utworzyć przycisk z „czapkami” na obu końcach i powtarzającym się tłem, aby zachować elastyczny rozmiar przycisku.

Aby to zrobić, użyłem:before i:after pseudoelementy w CSS wraz zposition:absolute aby uzyskać go poza obszarem tła głównego przycisku (używając wartości ujemnych).

Działa w FF i Chrome, ale wygląda jak w IE8 i 9, obrazy są tam, ale są „na zewnątrz” przycisku i dlatego są ukryte. Czy ktoś wie, jak wypchnąć te pseudoelementy z przycisku, aby je renderowały?

Chcę zachować HTML dowłaśnie <button></button> element i używam SASS. Możesz zobaczyć jsFiddle tutaj:http://jsfiddle.net/Dqr76/8/ lub poniższy kod:

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: "";
    }
}

Przede wszystkim, zanim ktoś to podniesie, wiem, że te pseudoelementy nie działają w <IE8 i stworzyły obejście, które nie wpływa na ten problem.

questionAnswers(1)

yourAnswerToTheQuestion