HighDots Forums  

Stampare solo un div

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss Stampare solo un div in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
posiee3
 
Posts: n/a

Default Stampare solo un div - 07-07-2006 , 10:27 PM






come posso fare a stampare all'interno di una pagina PhpNuke solo un
DIV?

Reply With Quote
  #2  
Old   
ZER0
 
Posts: n/a

Default Re: Stampare solo un div - 07-09-2006 , 04:57 AM






posiee3 <posiee3 (AT) bimbomnd (DOT) com> wrote:

Quote:
come posso fare a stampare all'interno di una pagina PhpNuke solo un
DIV?
Devi usare i CSS, in modo che puoi decidere in fase di stampa cosa deve
essere visibile oppure no.


--
"Se c'è qualcosa di più importante del mio ego su questa nave,
la voglio catturata e fucilata."


Reply With Quote
  #3  
Old   
Stefanomnn
 
Posts: n/a

Default Re: Stampare solo un div - 07-10-2006 , 02:09 AM



posiee3 ha scritto:
Quote:
come posso fare a stampare all'interno di una pagina PhpNuke solo un
DIV?
Ciao ti rispondio per mail, sperando che ti possa ancora essere
utile...
volevo chiarirti un tantino meglio come usare i css per stampare:
devi includere un ulteriore css supplementare con la cluasola
media="print"

<link rel="stylesheet" type="text/css" media="print" href="print.css"
/>

qui potrai scrivere qualcosa del genere:

body { display: none; }

#ID_TUO_DIV { display: block; }


Spero di esserti stato di aiuto!



Reply With Quote
  #4  
Old   
ZER0
 
Posts: n/a

Default Re: Stampare solo un div - 07-10-2006 , 03:18 AM



On 9 Jul 2006 23:09:44 -0700, Stefanomnn wrote:

Quote:
qui potrai scrivere qualcosa del genere:

body { display: none; }

#ID_TUO_DIV { display: block; }
Mhm, a cazzotto direi che così non stamperà nulla, in quanto "id_tuo_div" è
cmq figlio di body (diretto o indiretto).

Per avere il risultato che volevi ottenere, ammesso e concesso che
"id_tuo_div" sia figlio di body (e non "nipote"):

body * { display : none; }

#id-tuo-div { display : block; }

Se invece di essere figlio è un "nipote", ovviamente, va reso visibile anche
l'elemento che lo contiene (e così, risalendo "l'albero genealogico" fino al
body).


--
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)



Reply With Quote
  #5  
Old   
Nello Polesello
 
Posts: n/a

Default Re: Stampare solo un div - 07-10-2006 , 03:45 AM



"ZER0" <zer0.shock (AT) libero (DOT) it> ha scritto nel messaggio
news:1sofjycecedhv$.dlg (AT) ID-171124 (DOT) news.individual.net...

Quote:
body { display: none; }

#ID_TUO_DIV { display: block; }

Mhm, a cazzotto direi che così non stamperà nulla, in quanto "id_tuo_div"
è
cmq figlio di body (diretto o indiretto).
Certo, è figlio di body ma il selettore di id (#ID_TUO_DIV) è più specifico
del selettore di tag (body) e quindi "vince".

Nello.




Reply With Quote
  #6  
Old   
ZER0
 
Posts: n/a

Default Re: Stampare solo un div - 07-10-2006 , 03:49 AM



On Mon, 10 Jul 2006 09:45:24 +0200, Nello Polesello wrote:

Quote:
body { display: none; }

#ID_TUO_DIV { display: block; }

Mhm, a cazzotto direi che così non stamperà nulla, in quanto "id_tuo_div"
è
cmq figlio di body (diretto o indiretto).

Certo, è figlio di body ma il selettore di id (#ID_TUO_DIV) è più specifico
del selettore di tag (body) e quindi "vince".
Ti sfugge il fatto che se il contenitore è nascosto, allora lo è tutto il
suo contenuto.

--
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)



Reply With Quote
  #7  
Old   
nonce999
 
Posts: n/a

Default Re: Stampare solo un div - 07-10-2006 , 01:48 PM



ZER0 <zer0.shock (AT) libero (DOT) it> wrote in
news:9v2f0sawucmn$.dlg (AT) ID-171124 (DOT) news.individual.net:

Quote:
On Mon, 10 Jul 2006 09:45:24 +0200, Nello Polesello wrote:

body { display: none; }

#ID_TUO_DIV { display: block; }

Mhm, a cazzotto direi che così non stamperà nulla, in quanto
"id_tuo_div" è
cmq figlio di body (diretto o indiretto).

Certo, è figlio di body ma il selettore di id (#ID_TUO_DIV) è
più specifico del selettore di tag (body) e quindi "vince".

Ti sfugge il fatto che se il contenitore è nascosto, allora lo è
tutto il suo contenuto.

in pratica l'ho provato:

http://interno.altervista.org/modules.php?name=Banche

ma la stampa è bianca.
sbaglio qualcosa? come idea sarebbe adatta perché non avendo un
agevole controllo su tutte gli include del CMS mi verrebbe comodo
rendere invisibile tutto e fare stampare solo un blocco; altrimenti
dovrei modificare tutti gli include in funzione di una stampa e non è
cosa elegante.

--
http://midiquiz.altervista.org
http://interno.altervista.org


Reply With Quote
  #8  
Old   
ZER0
 
Posts: n/a

Default Re: Stampare solo un div - 07-11-2006 , 02:34 AM



On Mon, 10 Jul 2006 17:48:33 +0000 (UTC), nonce999 wrote:

Quote:
body { display: none; }

#ID_TUO_DIV { display: block; }

Mhm, a cazzotto direi che così non stamperà nulla, in quanto
"id_tuo_div" è
cmq figlio di body (diretto o indiretto).

Certo, è figlio di body ma il selettore di id (#ID_TUO_DIV) è
più specifico del selettore di tag (body) e quindi "vince".

Ti sfugge il fatto che se il contenitore è nascosto, allora lo è
tutto il suo contenuto.

in pratica l'ho provato:

http://interno.altervista.org/modules.php?name=Banche

ma la stampa è bianca.
Leggi il mio post in merito:

<news:1sofjycecedhv$.dlg (AT) ID-171124 (DOT) news.individual.net>

Sottolineo soprattutto:

"Se invece di essere figlio è un "nipote", ovviamente, va reso visibile
anche l'elemento che lo contiene (e così, risalendo "l'albero genealogico"
fino al body)."

--
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)



Reply With Quote
  #9  
Old   
nonce999
 
Posts: n/a

Default Re: Stampare solo un div - 07-11-2006 , 12:04 PM



ZER0 <zer0.shock (AT) libero (DOT) it> wrote in
news:10in15lnqm5xz.dlg (AT) ID-171124 (DOT) news.individual.net:

Quote:
in pratica l'ho provato:

http://interno.altervista.org/modules.php?name=Banche

ma la stampa è bianca.

Leggi il mio post in merito:

news:1sofjycecedhv$.dlg (AT) ID-171124 (DOT) news.individual.net

Sottolineo soprattutto:

"Se invece di essere figlio è un "nipote", ovviamente, va reso
visibile anche l'elemento che lo contiene (e così, risalendo
"l'albero genealogico" fino al body)."

Non ci arrivo, come dovrei impostare la pagina se posso visto gli
include del CMS?

--
http://midiquiz.altervista.org
http://interno.altervista.org


Reply With Quote
  #10  
Old   
ZER0
 
Posts: n/a

Default Re: Stampare solo un div - 07-12-2006 , 04:08 AM



On Tue, 11 Jul 2006 16:04:27 +0000 (UTC), nonce999 wrote:

Quote:
Leggi il mio post in merito:

news:1sofjycecedhv$.dlg (AT) ID-171124 (DOT) news.individual.net

Sottolineo soprattutto:

"Se invece di essere figlio è un "nipote", ovviamente, va reso
visibile anche l'elemento che lo contiene (e così, risalendo
"l'albero genealogico" fino al body)."

Non ci arrivo,
Nella pratica:

<body>
<div id="co">
<h1>Sezione</h1>
<p>
<span>bla bla bla</span>
<span id="myspan"> and bla.</span>
</p>
</div>
</body>

Se per assurdo tu volessi stampare solo lo span, non potresti fare:

body{display:none}
#myspan{display:inline}

Perché così nasconderesti il contenitore in cui risiede "myspan" e di
conseguenza anche myspan non verrebbe visualizzato, a prescindere dal suo
"display".

E non potresti neppure fare:

body * {display:none}
#myspan{display:inline}

perché "myspan" non è figlio di body. Questo funzionerebbe solo se myspan
fosse allo stesso livello di "container".

Quindi devi applicare la stessa logica per ogni livello "padre figlio", fino
a raggiungere il nodo interessato. Ovvero, in quel caso:

body *{display:none} /* nascondo tutti i figli di body */
#co{display:block} /* tranne "co" */
#co * {display:none} /* nascondo tutti i figli di "co" */
#co p {display:block} /* tranne p */
#co p * {display:none} /* nascondo tutti i figli di p */
#myspan{display:inline!important} /* tranne "myspan" */

Questo è quello che puoi fare nei browser odierni in modo crossbrowser
tramite puro CSS.

Alternativamente, se non puoi risalire la gerarchia di ciò che devi o meno
stampare, puoi optare per javascript. Il problema di usare js per la stampa,
è che avvenire tramite un pulsante apposito, e non tramite lo "stampa" del
browser (su IE ci sono degli eventi che potrebbero aiutare in questo, ma
sono del tutto proprietari), inoltre ci sono diverse contro indicazioni. Si
tratterebbe di usare un iframe nascosto, oppure se sei sicuro che il blocco
che vai a stampare non contiene "ID" e similia negli elementi, potresti
optare per un "div" nascosto, che verrà visualizzato in fase di stampa
(quindi una tecnica mista rispetto a prima: la differenza è che il div in
questione è sempre figlio di body, quindi il codice CSS non deve tener conto
della gerarchia degli elementi).

--
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.