Activer l'impression des éléments HTML5 sous Internet Explorer

Astuce par (Développeur/Intégrateur web, France voisine de Genève)
Créé le , mis à jour le (19874 lectures)
Tags : css, xhtml, print, html5

Internet Explorer (versions 6,7,8) fait face à un problème de gestion de l'impression des balises HTML5, car il ne prend pas en compte les styles pour le média print pour ces balises (même si vous les avez déclarées dans le DOM pour les afficher pour le média screen).

IE Print Protector

La seule solution actuellement est d'inclure un fichier JavaScript qui fixe ce problème : IE Print Protector. Celui-ci remplace temporairement les éléments HTML par des autres éléments neutres (comme div et span) avant l'impression, puis les restaure après, tout en conservant les styles associés.

Print Protector Avant et Après

Logo html5shiv

Notez que html5shiv intègre également IE Print Protector. Pour l'utiliser, vous pouvez inclure ce bout de code dans l'élément head avant les appels aux feuilles de styles CSS.

<head>

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<!-- ... Feuilles de styles CSS -->

</head>

Article complété par dew

Commentaires

jpvincent a dit le

ah ben merci de l'info, j'étais persuadé que déclarer les éléments en JS dans le head suffisait

Nico3333fr a dit le

Moi aussi, jusqu'à cette découverte ! :)