Если вам нужно использовать элементы HTML5, такие как header
, и он должен работать в старых браузерах, таких как 6, 7 и 8. Чем помимо добавления display: block
; к элементам, вам, возможно, придется использовать обходной путь javascript, который нацелен, то есть.
Вот пример из communitymx.com, который делает это для нескольких элементов HTML5:
<!--[if IE]>
<script type="text/javascript">
(function(){
var html5elmeents = "address|article|aside|audio|
canvas|command|datalist|details|dialog|
figure|figcaption|footer|header|hgroup|
keygen|mark|meter|menu|nav|progress|
ruby|section|time|video".split('|');
for(var i = 0; i < html5elmeents.length; i++){
document.createElement(html5elmeents[i]);
}
}
)();
</script>
<![endif]-->
Источник: Работа HTML5 в IE6, IE7 и IE8
Вы можете заменить <!--[if IE]>
на <!--[if lt IE 9]>
, если ie9 поддерживает элементы так, как вам нужно.