KoTTeNMedlem sedan sep. 20011 540 inlägg Hej!
Ska ta fram en mall för utskrifter till en sida. Kan man med hjälp av CSS ordna sidhuvud samt sidfot och sen lägga text emellan som sedan "flyter" över till nästa sida utan att störa sidfot och sidhuvudet? Hur anger man bredden så det passar ett A4?
Om du söker här på forumet så finns det kod som visar på sidbrytning vid utskrift. Kan vara användbart. Sidfot och sidhuvud har jag för mig att det inte går.
pirajanMedlem sedan apr. 2001273 inlägg Förstår inte riktigt vad du menar med flyter... Bredden anger du i relativa mått. Ex % em..
body{width:80%}
zcorpanMedlem sedan dec. 20042 269 inlägg Om du låter bli att ange bredden så blir det lagom brett för pappersformatet man skriver ut på.
Ang sidhuvud och sidfot har jag en länk till dig (men inte nån direkt lösning som funkar :(): http://css-discuss.incutio.com/?page=PrintingHeaders
dAEkMedlem sedan feb. 20041 777 inlägg Detta måste vara första gången jag ser zcorpan svara utan en fungerande lösning! :h :p
Är det alltså så att man får ta till andra format om man vill styra utskriftslayouten med sidhuvud etc, t.ex. pdf?
(Nej, jag orkade inte läsa den länkade sidan)
zcorpanMedlem sedan dec. 20042 269 inlägg I praktiken ja, om du vill att man ska kunna skriva ut med IE6. Om du tänkt skriva ut med Prince eller Opera kan du nog använda HTML+CSS.
KoTTeNMedlem sedan sep. 20011 540 inlägg Tack för tipsen och länkarna!
Nu ska det i första hand användas internt och här har IE åkt ut för länge sedan. :)
zcorpanMedlem sedan dec. 20042 269 inlägg Om Firefox används kan man använda en tabell: <thead> och <tfoot> upprepas på varje sida. Det kanske är att missbruka tabeller för layout, men det hindrar oss inte från att experimentera... §e
<table>
<thead>
<tr>
<td>sidhuvud</td>
</tr>
</thead>
<tfoot>
<tr>
<td>sidfot</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>
<h1>Lorem ipsum</h1>
<p>Lorem ipsum dolor sit amet, ....flera sidor text...</p>
</td>
</tr>
</tbody>
</table>
Nu kommer förstås frågan om man inte kan återskapa samma sak med CSS:
body { display:table; }
.header { display:table-header-group; }
.footer { display:table-footer-group; }
.article { display:table-row-group; }
<body>
<div class="header">sidhuvud</div>
<div class="footer">sidfot</div>
<div class="article">
<h1>Lorem ipsum</h1>
<p>Lorem ipsum dolor sit amet, ....flera sidor text...</p>
</div>
</body>
Se på fan! Det funkar! :D
[Edit: zcorpan hade redan tipsat om det i #6]
Ett annat tips är att testa PrinceXML, det är ett PDF-genererare som tar in XHTML och CSS och producerar PDF:er. Har bra stöd för CSS3. Finns stöd för sidhuvuden och att sätta pappersstorlek.
dAEkMedlem sedan feb. 20041 777 inlägg Okej, då vet jag. Tack för svaren. :)