I am trying to adapt the solution from this question: Vertically align text in a div (answer by Neftas)
<html>
     <head>
       <title>Universal vertical center with CSS</title>
     </head>
     <body>
        <div style="height: 100px; border: solid;">
            <div style = "position: relative; top: 50%; transform: translateY(-50%);">This is vertically aligned text within a div</div>
        </div>
     </body>
 </html>
This works fine in modern IEs, but not work in IE8.

I found this http://www.useragentman.com/IETransformsTranslator/ converter that converts TranslateY(-50%) call into matrix.
So, I made my code in that way:
 <html>
     <head>
       <title>Universal vertical center with CSS</title>
     </head>
     <body>
        <div style="height: 100px; border: solid;">
            <div style = "position: relative; top: 50%; transform: translateY(-50%); -ms-filter: progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod='auto expand');">This is vertically aligned text within a div</div>
        </div>
     </body>
 </html>
But the inner div still stays in wrong vertical position, like matrix were never applied.

P.S. I know about display: table-cell but this leads to another bugs in IE8.
 
    