Avatar billede dotcom1 Nybegynder
18. oktober 2004 - 14:12 Der er 7 kommentarer og
1 løsning

Printervenlig side - print kun en enkelt div på en side!

Hej.

Jeg bruger et særligt print-stylesheet til at bestemme hvordan og hvad, der skal printes på en given webside. Jeg kan se at mange bruger "display: none" til at udelukke classes og divs fra at blive printet ud, men hvad nu hvis man kun har en enkelt tabel indkapslet en div, der skal printes ud, hvad gør man så? Det ville trods alt være noget nemmere bare at definere hvad der skal printes, i stedet for at definere alle de elementer, der ikke skal skrives ud, hvis I forstår... Kan man det?

Mvh.
Avatar billede roenving Novice
18. oktober 2004 - 14:23 #1
F.eks.

html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
@media print{
  body *{display:none;}
  #printDiv *{display:inline;}
  #printDiv,#printDiv p,#printDiv div,#printDiv ul,#printDiv textarea,#printDiv td{display:block;}
  #printDiv table{display:table;}
  #printDiv td{display:table-cell;}
  #printDiv li{display:list-item;}
}
</style>
Avatar billede dotcom1 Nybegynder
18. oktober 2004 - 14:48 #2
Tak, der virker sådan set, men ikke når div'en (med en tabel) er inden i en anden tabel. Har jeg kun div'en og intet andet på siden, virker det perfekt, men ikke når den er inde i en tabel. Så vises indholdet ikke på udskriften. Kan man gøre noget ved det?
Avatar billede roenving Novice
18. oktober 2004 - 14:59 #3
Det forstår jeg ikke, for min test-case ser sådan ud, og den virker:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Generisk print-stylesheet</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta name="keywords" content="søgeord adskilt af komma">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
@media print{
  body *{display:none;}
  #printDiv *{display:inline;}
  #printDiv,#printDiv p,#printDiv div,#printDiv ul,#printDiv textarea,#printDiv td{display:block;}
  #printDiv table{display:table;}
  #printDiv td{display:table-cell;}
  #printDiv li{display:list-item;}
}
</style>
</head>
<body>
<span>En hel masse indhold, som ikke må komme på print, f.eks. menuer, navigation m.m.</span>
<br>
<table><tr>
  <td>En tabelcelle</td>
</tr></table>

<div id="printDiv">Indholdet som skal vises på print:<br>
<table><tr>
  <td>En tabelcelle</td>
</tr></table>
<ul>
  <li>Et liste-item</li>
</ul>
<span>Noget tekst i nogle <i>inline</i> elementer</span>
</div>
</body>
</html>
Avatar billede dotcom1 Nybegynder
18. oktober 2004 - 15:13 #4
Ja, jeg kan godt se at dit virker...Mærkeligt Har lagt en test-side her: http://www.multimedia.au.dk/~nanna/test/test.php Måske kan du se hvad jeg gør galt.
Avatar billede roenving Novice
18. oktober 2004 - 15:29 #5
Den kan jeg ik' li'e gennemskue ...
Avatar billede dotcom1 Nybegynder
18. oktober 2004 - 15:35 #6
Ok, mærkeligt, men tak for hjælpen anyway. Læg et svar; jeg får nok brug for din kode alligevel. ;-)
Avatar billede roenving Novice
18. oktober 2004 - 15:50 #7
Oki '-)
Avatar billede roenving Novice
18. oktober 2004 - 15:56 #8
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester