Newsgroup: it.comp.lang.javascript
Titolo: Stampa con Css

Salve a tutti! Senza i dovuti convenevoli vengo subito al dunque! Sto
provando a stampare una pagina web attraverso i Css. La pagina è composta
da due tabelle. La prima, in alto, contiene un'immagine che costituisce
l'intestazione della pagina. La seconda, in basso, contiene del testo. Ho
fatto in modo che la tabella superiore non compaia sul browser applicando
ad essa un foglio di stile. Il problema è che questa tabella non compare
neanche sulla stampa, mentre vorrei che venissero stampate entrambe le
tabelle. Credo che il foglio di stile che ho utilizzato non va bene. Mi
direste la sintassi da utilizzare e a cosa applicarla per risolvere questo
problema?
Scusate, scrivo di fretta dall'ufficio ... un aiutino per favore!
Buon lavoro,
Lello
***************************************
messaggio inviato tramite HostSearch.it
---------------------------------------
---> 
http://www.hostsearch.it/newsgroup
***************************************

cerca media='screen' e media='print' (sperando siano così perché li ho usati
solo una volta);
la logica è:
crei 2 css, uno con media=screen (che è quello che vedi a video, con la tua
tabella nascosta) e uno con media=print (con la tua tabella visibile, e che
sarà applicato solo in stampa).
Se è solo un dato, per IE sono disponibili anche onbeforeprint e
onafterprint come metodi del body (onbeforeprint visualizzi, onafterprint
nascondi)

tabelle. Credo che il foglio di stile che ho utilizzato non va bene. 
Fai due fogli stile, uno per la stampa e uno per la visualizzazione
normale: 
<link rel="stylesheet" href="stampa.css" type="text/css"
media="print">
Con display:none puoi impostare gli elementi che vuoi che uno dei tuoi
css non visualizzi.
Matteo

Ok per la visualizzazione! ho creato il seguente foglio di stile:
#pippo {
	display : none;
}
dove pippo è l'ID che ho assegnato alla tabella superiore ... quella che
non si deve vedere nel browser.
Il problema adesso è creare il foglio di stile per far sì che la suddetta
tabella venga stampata dalla stampante. Potreste darmi la sintassi? Sto
avendo difficoltà ... tra poco arriva il mio capo! Aiuto Aiuto Aiuto


come diceva fermat:
<link rel="stylesheet" href="stampa.css" type="text/css" media="print">
(metti il tuo style nel file stampa.css)

Va bene per il link, ma l'operazione che non riesco a fare è la seguente:
scrivere la sintassi del file .css che mi serve per la stampa.
Me la potreste dare già fatta? Se non sbaglio dopo dovrei soltanto
selezionare la tabella che voglio rendere stampabile e associare ad essa
il .css.
Presto presto ... il capo è già qui e tra poco si incazzerà!
Aiuto,
Lello


scusa, ma non hai detto che hai già fatto un css "normale"?
Ecco, fallo uguale preciso ma solo con
#pippo {
display : none;
}
(solo che, se ti riferisci alla classe, devi usare . anziché #; con # ti
riferisci all'oggetto che ha id='pippo', con . all'oggetto che ha
class='pippo')

nel senso che il file css deve essere esattamente così:
#pippo {
 display : none;
}
(e alla tua tabella applichi id='pippo')
oppure
.pippo {
 display : none;
}
e alla tua tabella applichi class='pippo'
salvi il css come stampa.css, e lo richiami con il tag link come indicato da
fermat

Scusa se rompo, ma non lo farei se non fosse proprio necessario! Ho creato
il file screen.css. La sua sintassi è:
#pippo {
	display : none;
}
Questo .css funziona egregiamente ... nel browser non si vede la tabella
pippo. Solo che se stampo il documento non si vede neanche nella stampa.
Credo che dovrei creare un nuovo .css (print.css ad esempio) che me lo
faccia uscire dalla stampante. Riassumendo ho il file screen.css che fa
scomparire la tabella pippo sul browser. Adesso devo creare il file
print.css che allo stesso tempo lo renda stampabile! Se può essere utile
ti dico che la tabella "pippo" ha dentro di essa solo un'immagine!
Ti prego ti prego ti prego
Ti prego ti prego ti prego


riassumiano:
crei un file screen.css e lo inserisci (normale tag link)
crei un altro file print.css e lo inserisci (tag link con media='print',
come indicato da fermat)
e basta, non devi fare altro: quando invochi la stampa IE (spero anche gli
altri browser, mai provato) applicherą il tuo css "print.css" solo nella
pagina stampata)
un esempio al volo (senza usare link esterni; testato su ie5.5sp2):
<HTML><HEAD>
<TITLE>esempio</TITLE>
<style media='screen'>
 #tuatabella {display:none}
</style>
<style media='print'>
 #tuatabella {display:''}
</style>
<SCRIPT LANGUAGE="JavaScript">
</SCRIPT>
</HEAD>
<BODY bgcolor="white" onload=''>
<table id='tuatabella'><tr><td>intesta1</td><td>intesta2</td></tr></table>
<table><tr><td>info sempre visibili</td></tr></table>
</body></html>

Me la potreste dare già fatta? 
Beh... dipende da come la vuoi! Coi bordi rossi? Con tanto spazio? Con
la mostarda? Al limon? Ti piace? 
Ciao
Matteo

FUNZIONA!!! FUNZIONA !!! FUNZIONA !!!
GRAZIE !!! GRAZIE !!! GRAZIE !!! Se la barriera telematica non ci
separasse ti offrirei da bere ... temevo proprio di non arrivare più!
!!! Grazie ancora per la disponibilità !!!
Ciao,
Lello
"E anche questa sera è andata"
 Conte Lello Mascetti
 da "Amici miei"
 di Mario Monicelli


Perdonami ... anch'io amo la Trilogia, ma non sono ancora un
perfezionista. Grave mancanza!
Ciao,
Lello
