ho un div con lo scroll che contiene una tabella in php con dei dati presi da un db. Devo stampare il contenuto, solo che con il semplice print() stampa solo quello che si vede a video. Come faccio?
ho un div con lo scroll che contiene una tabella in php con dei dati presi da un db. Devo stampare il contenuto, solo che con il semplice print() stampa solo quello che si vede a video. Come faccio?
milka
devi usare un css per la stampa
fatti spostare nella sezione adatta
Vuoi aiutare la riforestazione responsabile?
Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)
ok, ora che sto nella sezione adatta, mi potete aiutare per favore. Non so dove mettermi le mani
milka
Devi semplicemente fare due CSS: uno con media="screen" l'altro con media="print" (vedi il tag <link> per i dettagli).
I due CSS saranno diversi nella formattazione della tabella.
La tabella a schermo avra` un'altezza in qualche modo limitata (con l'overflow);
la tabella da stampare non sara` limitata in altezza, e l'unico oggetto con l'overflow:auto sara` il <body> (che ha tale proprieta` gia` di default).
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
allora, io intanto avevo fatto così:
il layer è impostato così:
<div id=\"lav\" style=\" height:375; z-index:1; width:100%; overflow:auto;\">
nella pagina stessa che lo contiene ho messo
<style type="text/css" media="print">
#lav {overflow : visible;}
</style>
ovviamente stampa sempre uguale, ovvero con la barra.
milka
Come diceva Mich_, devi predisporre due file CSS e richiamarli nel codice XHTML della pagina in questo modo:
Il browser utilizza automaticamente il CSS corretto a seconda del dispositivo con cui visualizzi la pagina. Quindi, guardando la pagina su un monitor, viene utilizzato il file "stile_schermo.css", mentre stampando la pagina viene utilizzato il file "stile_stampa.css".codice:<link rel="stylesheet" type="text/css" href="stile_schermo.css" media="screen" /> <link rel="stylesheet" type="text/css" href="stile_stampa.css" media="print" />
I due file CSS devono ovviamente contenere regole di stile diverse per il tuo div (ti consiglio di non usare l'attributo style nel codice XHTML, ma di impostare lo stile di quel div nei due file CSS). Nel file CSS per lo schermo, imposterai una regola di stile per quel div esattamente come hai fatto nell'attributo style.
Nel CSS per la stampa invece, imposterai una regola di stile che permetta di visualizzare completamente la tabella, quindi non imposterai l'overflow né l'altezza del div (ricorda che le misure vanno sempre espresse con l'unità di misura adottata. Non ha senso scrivere: height: 375, mentre ha senso scrivere: height: 375px).codice:#lav { height: 375px; z-index: 1; width: 100%; overflow: auto; }
grazie, funziona tutto ora come mi serviva!
milka