Moin!
- wie verwende ich dann 2 stylesheets? einfach im <head> tag nochmal nen verweis zum 2ten machen?
<link href="1teCSS" type="text/css" rel="STYLESHEET">
<link href="2teCSS" type="text/css" rel="STYLESHEET">
Exakt so. Damit kannst du z.B. als erstes eine allgemeine CSS-Datei für deine gesamte Site einbinden, und danach nochmal eine spezielle CSS-Datei für die Sektion, in der man sich gerade befindet. Die Definitionen in der zweiten Datei _überschreiben_ ggf. die Definitionen der ersten Datei. Wenn du also z.B. die Hintergrundfarbe allgemein setzt (und auch die Schriftfarbe)
body { background-color:#FFF; color:#000; }
dann kannst du in der zweiten Datei beispielsweise die Hintergrundfarbe nochmal abändern:
body { background-color:#FFC; }
Und schon hast du schwarze Schrift auf hellgelbem Hintergrund.
- wie bestimmte ich, welches stylesheet für den ausdruck verwendet wird?
Du kannst jeder <link>-Angabe ein media-Attribut hinzufügen. Dann wird die Datei nur für die genannten Ausgabemedien verwendet. Derzeit sinnvolle Werte sind: screen (Bildschirmdarstellung), print (Papierausdruck) und projection (in Opera: Vollbilddarstellung mit F11). Es gibt noch eine Reihe weiteter Medientypen, aber wohl kaum Browser, die sie beachten.
http://selfhtml.teamone.de/css/formate/einbinden.htm#link_media
Wenn du also die erste Datei für media="screen" und die zweite Datei für media="print" einbindest, kannst du dir die separate Druckansicht im Prinzip sparen. Alles, was nicht ausgedruckt werden soll, blendest du mit "display:none" in der CSS-Datei aus.
Experimentiere ruhig ein wenig damit. Empfehlenswert ist die Verwendung eines Browsers mit Druckvoransicht. IE 5 hat das leider nicht, IE 5.5 weiß ich nicht, aber IE6, Opera und Mozilla haben alle eine Druckansicht. Netscape 4 kann mit Druckstylesheets leider nichts anfangen, es wäre aber auch absolut uneffektiv, für diesen selten gewordenen Browser eine eigene Lösung zu stricken.
- und wie kann ich dann in der *.css festlegen dass die class die ich dann der div gebe nicht angezeigt wird? (visibility? color?)
Du kannst alles definieren, was du willst. Empfehlenswert ist beispielsweise auch, die Schriftfarbe auf "schwarz" und die Hintergrundfarbe auf "weiß" festzulegen, ansonsten geht beim Ausdruck nur unnötig die Farbpatrone drauf, bzw. der Text wird im Schwarzweiß-Drucker nur hellgrau ausgedruckt. Hintergrundbilder werden auch nur gedruckt, wenn die Browser-Druckeinstellungen das erlauben.
Und wie erwähnt: Alles, was nicht sichtbar sein soll, mit "display:none" ausblenden. Wenn du nur "visibility:hidden" definierst, dann wird dieses Element zwar ausgeblendet, nimmt aber den Platz noch weg, den es einnimmt.
Es ist außerdem eine schlechte Idee, bei der Druckausgabe absolut oder relativ zu positionieren. Es kann ja immer mal sein, dass die Papierseite für die angedachte Position zu klein ist - und dann wird Text womöglich abgeschnitten.
- Sven Rautenberg
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)