Andrea: Per Mausklick css-files austauschen

Hallo!

Ich habe zwei css-files: web.css und druck.css.

Defaultmaessig soll web.css benutzt werden.
Nun moechte ich auf meiner html-Seite _einen_ Link bzw. Button haben, der zwischen den beiden css Files hin und her schaltet.

Ungefaehr so:
document.write('<link rel="stylesheet" href="'+css_file+'" type="text/css">');

Wobei css_file einmal web.css und einmal druck.css ist.

Da es ja immer sie selbe html-Seite ist, kann ich den Link bzw. Button nicht aendern.

Ist sowas machbar?
Wie?

Gruss, Andrea

  1. Hallo Andrea,

    wozu möchtest du die CSS-Definitionen austauschen? Es besteht nämlich die Möglichkeit, verschiedene CSS-Angaben für verschiedene Medien zu machen, siehe http://selfhtml.teamone.de/css/formate/einbinden.htm#link_media. Damit kannst du definieren, wie eine Seite am Bildschrim, auf dem Drucker oder auf vielen anderen Medien auszusehen hat.
    Wenn du eine so definierte Seite druckst, sollte sich der Browser eigentlich an die für den Drucker vorgegebenen Einstellungen halten.

    so long.

    Vimes

    1. 1. Damit man sich die Druckversion vorher angucken kann.

      2. Ich habe auch einige laengere Texte auf meiner Seite die sich mit der druck.css vielleicht besser lesen lassen. Deswegen dachte ich, ich koennte druck.css gleich doppel verwenden.

      Gruss, Andrea

        1. Damit man sich die Druckversion vorher angucken kann.

        Ein vernünftiger Browser verwendet in der eingebauten Druckvorschau schon die für den Drucker gemachten Style-Angaben. Imho ist es unnötig, eine eigene "Druckvorschau" zu schreiben.

        Soweit ich weiß, ist es nicht möglich, das Stylesheet einfach so auszutauschen, mit Javascript könntest du allerdings einzelne Style-Angaben ändern.
        Um das Stylesheet komplett zu tauschen, muß die Seite neu vom Server geholt werden, mit dem geänderten Style. Damit du aber nicht alle Seiten in zwei Versionen vorhalten mußt, was den Pflegeaufwand verdoppelt - und die Gefahr von inhaltlicher Inkonsistenz (in dem einen geändert, im anderen vergessen) vergrößert, könntest du die Seite serverseitig mit PHP etc. "zusammenbauen".

        1. Hi,

          Ein vernünftiger Browser verwendet in der eingebauten Druckvorschau schon die für den Drucker gemachten Style-Angaben.

          Wer schreibt eigentlich dem Surfer vor, nur "sinnvolle" Browser zu nutzen? Und was ist das überhaupt? ;)

          Imho ist es unnötig, eine eigene "Druckvorschau" zu schreiben.

          IMHO nett, wenn ich eine praktische Zusatzfunktion habe, die *ich* zwar nicht unbedingt brauche, andere aber vielleicht schon - und zu deren Benutzung ich auch nicht gezwungen werde.

          Zumindest ältere Browser können Medien nicht unterscheiden.

          Damit du aber nicht alle Seiten in zwei Versionen vorhalten mußt,

          Bestimmt nicht!

          Seite serverseitig mit PHP etc. "zusammenbauen".

          Hat nicht jeder, kann nicht jeder, will nicht jeder.

          Gruß, Cybaer

  2. Hi,

    1. ähnlich dem Grafik-Rollover mit document.images, kannst Du auch Zieladressen in Ankern austauschen.
    2. Noch einfacher: Jeweils einen Button als visible, den anderen als hidden deklarieren. Dann sind zwar zwei Buttons im Text, aber nur einer sichtbar (insbesondere, wenn man mit JS arbeitet und vorher die Styles abfragt ;-)).

    Beispiel mit einem Button "Druckversion", der aber in der Darstellung variiert (je nachdem, ob printer.css oder screen.css, Script- oder Non-Script-Browser und Offline- oder Online-Seitenabruf): S. URL

    Gruß, Cybaer