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.