Gerrit Götzen: Mit JS auf das CSS nur vom Typ media:screen zugreifen

Hallo zusammen!

Ich habe eine schöne Newsseite erstellt (natürlich XHTML1.1 und CSS). Benutzer die auch Javascript aktiviert haben, bekommen nur eine Übersicht und eine News angezeigt. Beim Klick auf eine andere News wird die aktuelle ausgeblendet und die neue angezeigt. Das habe ich mit DIV-Containern, CSS und JS realisiert. Das klappt auch alles gut.

Nun das Problem: Ich habe jetzt auch eine CSS-Datei für den Drucker eingebunden (media="print"). Sobald aber ein News-DIV-Container mit JS ausgeblendet wurde, ist der auch beim Drucken verschwunden. Das muss wohl daran liegen, das JS den Style für alle Medientypen ändert. Wie kann ich ihm beibringen nur den Typ media="screen" zu ändern? Oder hat jemand noch eine andere Idee das zu realisieren?

Danke schonmal
Gerrit

  1. hi,

    Nun das Problem: Ich habe jetzt auch eine CSS-Datei für den Drucker eingebunden (media="print"). Sobald aber ein News-DIV-Container mit JS ausgeblendet wurde, ist der auch beim Drucken verschwunden. Das muss wohl daran liegen, das JS den Style für alle Medientypen ändert. Wie kann ich ihm beibringen nur den Typ media="screen" zu ändern? Oder hat jemand noch eine andere Idee das zu realisieren?

    Meine erste Idee wäre, für das Unsichtbarmachen entsprechende Klassen zu verwenden und den zu versteckenden Elementen dynamisch zuzuweisen (className) - und diese Klasse(n) aber nur innerhalb des für den Screen gedachten Stylesheets unterzubringen.

    Btw: media="screen" solltest du zu media="screen, projection" ergänzen - andernfalls wendet Opera die Formatierungen im Fullscreen-Modus nicht an.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Danke. Das ist eine gute Idee. Ich probier das mal aus. Ich sag dann hier nochmal bescheid obs klappt.

      Und thx für den Tipp mit dem media="screen, projection" (man lernt nie aus).

      Gerrit

    2. Hi!

      Btw: media="screen" solltest du zu media="screen, projection" ergänzen - andernfalls wendet Opera die Formatierungen im Fullscreen-Modus nicht an.

      Und der gute alte 4er-Netscape kriegt dann auch nix mehr von der CSS-Datei zu sehen(vernünftig darstellen tut der mit CSS gestaltete Seiten nunmal nciht) - gleich 2 Fliegen mit einer Klappe...

      Gruß aus Iserlohn

      Martin

  2. Hi,

    Oder hat jemand noch eine andere Idee das zu realisieren?

    Du kannst auch die (screen-)-CSS-Regel selbst ändern (s. Stylesheeteigenschaften onClick ändern).

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!