17. maj 2004 - 15:17Der er
20 kommentarer og 1 løsning
Udskrivning af DIV
Hej,
er der nogle der kan skrive en lille smart "print" funktion til at udskrive et specielt div på en side.
Problemet er at jeg har et <div style="overflow:auto> hvilket gør at jeg får scrollbar i div'en og kan kontrollere højden på siden mere præcist, så min sidefod altid bliver vist.
Men hvis man prøver at skrive siden ud (i IE, som 100% af mine brugere benytter) så skriver den kun den synlige del ud.
Jeg vil selvfølgelig gerne have skrevet hele div'ens indhold ud.
så må du lave et specielt stylesheet til print: <link rel="stylesheet" media="print" href="print.css" type="text/css" />
hvor du så skriver (hvis vi siger din div har id'en "divID"): #divID { overflow:visible; /* Evt. noget mere */ } og så kan du skjule de andre elementer, der ikke skal vises.
@media print{} kan du placere midt inde i dit almindelige stylesheet, og den sektion vil kun gælde ved udskrivning, ligeledes gælder det, at hvis du ikke sætter media på et link-tag vil det gælde alle medier, men media="print" vil overrule evt. andre hvor der er definitioner !-)
jeg synes ikke helt det virker... Nu har jeg skrevet sådan her i starten at mit stylesheet: @media print { *{display:none} #DataGridDiv { display:block; overflow:hidden;
<udsnit af koden:> <div id="datagridDiv" > </udsnit>
Når det står sådan.. Så burde #datagridDiv da gælde for den div? ikke?
Jeg kan ikke få det til at gøre noget.. Hvis jeg sætter stjernen på, skriver den ikke noget ud.. Hvis jeg fjerner stjerne og bare har #datagridDiv{} skriver den det hele som det ser ud på skærmen?
Det var det... nu har jeg lavet et "ekstra" stylesheet og givet media = "print" og dt oprindelige medie="screen". Så kører det...
Så skal jeg bare copy-paste den linie ind på alle mine sider, men det er vist også overkommeligt.. :-)
Men begge løsninger er gode. Jeg kunne egentlig bedst lide den med bare at skrive det i mit eksisterende, men da der er så mange ting der ændrer sig, har jeg valgt den anden.
Smid et svar begge to.. Så er der point i luften...
jeg har lige et lille hurtigt ja/nej spørgsmål... Hvis jeg nu resizer mit datagrid med en <body onresize="funktion()"> så vil den vel også override min stylesheet indstilling.. Jeg har nemlig et lille problem, med at den "skærer" en linie over... Så kun halvdelen af teksten står der (øverste halvdel), herefter kommer der sideskift og så resten på ny side. Det skal siges at sideskift kommer ret højt oppe på siden.
Det var det. Så står det også i denne tråd, hvis andre skulle bruge hjælp til dette.
Jeg har nu lavet en ny javascript print funktion. Den sætter så datagridDiv højde til 100%, window.print();, og derefter tilbage til oprindelige størrelse. :-)
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.