IE8 был выпущен задолго до спецификации HTML5, поэтому неудивительно, что ни IE7, ни IE8 не поддерживают ни одну из функций HTML5.
only способ заставить IE8 или более ранние версии распознавать и поддерживать элементы, о которых он не знает, - это использовать взлом Javascript. Этот хак доступен автономно в виде HTML5Shiv , а также встроен в библиотеку обнаружения функций Modernizr .
Нет другого способа заставить IE работать с HTML5. Таким образом, основной ответ на ваш вопрос - «Нет». Сожалею. Не существует CSS-решения. (на самом деле даже решение Javascript - это хак, который существует скорее благодаря удаче, чем чему-либо еще; это, конечно, не то, что MS намеревался написать в IE)
Если вы не хотите заниматься взломом Javascript, тогда вам лучше всего вообще не использовать теги HTML5; вместо этого используйте элементы <div>
с подходящими семантическими именами классов.
Конечно, даже с этим хаком все, что вы делаете, это позволяете IE распознавать, что новые теги являются допустимым HTML; вы на самом деле не добавляете какие-либо функции в IE, поэтому использование какого-либо из HTML5-компонентов, предоставляющих новые функции (таких как Canvas или новые типы ввода), все равно не будет работать. Существуют отдельные инструменты Javascript для ряда этих функций, но остерегайтесь проблем с производительностью, если вы пытаетесь сделать слишком много (IE7 / 8 не совсем быстр в лучшие времена).