Cuando creas una nueva ventan no hereda los estilos del parent: por defecto te crea un arbol de etiquetas vacio al que puedes añadir 'cosas', y una de las cosas que debes añadir para aplicar estilos es un "link rel=styesheet" o un bloque de estilos
Código:
var ventimp=window.open(' ','popimpr');
ventimp.document.close();
var css = ventimp.document.createElement("link");
css.setAttribute("href", "estilo.css");
css.setAttribute("rel", "stylesheet");
css.setAttribute("type", "text/css");
ventimp.document.head.appendChild(css);
Solo una cosa: el appendChild funciona cuando has cerrado el arbol de tags, en el codigo cierras con 'document.close()', luego puedes añadir (modificar, quitar) lo que quieras.
Y lo otro, puedes jugar con el atributo 'media' del tag link, haces un css para display que lo tendras en la pagina normal y otro para print en el que p.ej. todos los botones pueden estar ocultos
Código:
//estilo_print.css
BUTTON {
display:none;
}
//en la funcion imprSelec
var css = ventimp.document.createElement("link");
css.setAttribute("href", "estilo_print.css");
css.setAttribute("rel", "stylesheet");
css.setAttribute("type", "text/css");
css.setAttribute("media", "print");
ventimp.document.head.appendChild(css);
En la nueva pagina puedes poner dos link rel, uno con media=display para que el usuario vea lo que se va a imprimir, y otro con print que será el formato que saldra por la impresora.
No se si hay algo en css para que desde dentro de un mismo css se pueda orientar los estilos a diferentes media
Saludos
vosk