vista todos sea que para pagina navegadores los internet hacer con compatible compatibilidad como codigo bien html5 printing header footer nav

html5 - todos - pagina web no se ve bien en internet explorer



Internet Explorer 8 no modificará las etiquetas HTML5 en la hoja de estilo de impresión (5)

Estaba trabajando en una hoja de estilo de impresión anterior y encontré un problema con IE8. Estoy usando HTML5 y varias etiquetas de diseño, incluyendo encabezado, navegación y pie de página.

Por alguna razón, en mi hoja de estilo de impresión la pantalla: ninguno; la declaración en estas etiquetas se ignora en IE8 (y solo puedo asumir las versiones inferiores posteriores). Primero pensé que Developer Tools en IE9 podría estar causando una representación falsa, sin embargo, tengo una instalación de Windows XP en VirtualBox que también muestra el problema.

Supongo que es porque las etiquetas HTML5 no se ven correctamente por debajo de IE9. La hoja de estilo de impresión oculta las etiquetas de diseño en Firefox y Chrome.

¿Hay alguna forma de evitar esto?

Editar:

Esto es lo que tengo en este momento:

<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/style.css" type="text/css" media="screen" /> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/print.css" type="text/css" media="print" />

Ignore las declaraciones de PHP, son específicas de mi CMS, que es WordPress.

Luego simplemente escondo las etiquetas de diseño en print.css:

nav,footer { display:none; }

Esto funciona para IE9, Firefox, Chrome, pero no en nada por debajo de IE9. Parece ignorar las etiquetas HTML5.


Como todo lo que puedo hacer es adivinar sin ver realmente el código, mi primera suposición sería que el shiv html5 que se está utilizando después de las declaraciones css, y el CSS simplemente omita las etiquetas html 5, sin aplicarles los estilos CSS. Intente configurar el script en la parte superior, antes de cualquier etiqueta de enlace css en el encabezado.


Puede probar un entorno de trabajo usando Javascript incluyendo un par de funciones onbeforeprint y onafterprint de la onafterprint en las que oculte / muestre el contenido que se debe display:none .


Use Modernizr . En Extra, asegúrese de que html5shiv / w printshiv esté seleccionado. Incluya esta biblioteca de JavaScript en su sitio y debería funcionar como un encanto.


Te sugiero que pruebes html5shiv . El shiv principal hace document.createElement() como lo has hecho pero ha sido optimizado / minificado como loco. Más importante aún, incluye printshiv (IE Print Protector) que le permitirá diseñar elementos HTML5 para impresión.


Lo recomiendo encarecidamente para el uso de repetición para su problema. Es una buena compilación para estándares web y algunos problemas conocidos y comunes en casi todos los navegadores. Utiliza modernizr y tiene una increíble hoja de estilo que tiene una impresión @media que puede usar para todos sus problemas de impresión en todos los navegadores.