Markus Bauer: Browser ignorieren media=screen :-(

Beitrag lesen

Hoi!

Hi,

Nun, die Eigenschaften sollen aber nur am Bildschirm applied werden. Deswegen media=screen. Für den Drucker sollen die CSS Eigenschaften einfach nicht zugewiesen werden was bedeutet dass sie normale DIVs sind und ganz NORMAL angezeigt werden.

Das gleiche: Du legst Styles (die Groessen) mit JS fest.

Aaach, ich glaube ich verstehe. Ich weise per JS die Eigenschaften overflow:auto und die Größe zu und und gebe *dabei* nicht explizit das "media" an. Deswegen wirds auf alle applied.

(Warum eigentlich?)

Hast du eine bessere Lösung? Das Problem ist dass ich die Größe abhängig von der Höhe des Viewports setzen muss. Und das geht ja nur mit JS?!

Und das nichtmal besonders valide.

Das ist blunzn. Wie gesagt handelt es sich dabei um eine proprietäre Datenbankanwendung die HTML lediglich als Darstellung in Zusammenhang mit dem "WebBrowser Control" nutzt. Das ganze muss also nur mit dem IE funktionieren (möglichst breit) und auch nicht valide sein.

Ich sehe keine Massangaben

Hmm, ist das wichtig? Wo würdest du die Massangaben einsetzen?

und was steht beim ersten Aufruf von document.getElementById('nsa').offsetHeight darin? Ich rate: Ein Leersting.

Keine Ahnung, mag sein. Nein, es wird die tatsächliche Höhe drin stehen, vermute ich. Wie gesagt, ich rufe die Funktion bei onLoad und onResize auf und das klappt soweit eigentlich toll.

Was passiert, wenn Du das zuweisen per JS nicht tust?

Dann fehlt mir die Scrollleiste für die Scrolling-Area.

Hast Du schon versucht Styles fuer print zu benutzen?

Nein, ich dachte wenn ich sie einfach nur für screen zuweise sind sie bei printer leer, was eigentlich passt.

Nur: Wie mache ich das eigentlich mit JS?

Schonmal versucht mit Klassen zu arbeiten, die Du per JS zuweist, statt, die Styleangaben direkt zu bearbeiten?

Das hört sich sehr interessant an aber leider fehlt mir da die Erfahrung bzw. was du genau meinst. Hast du zufällig einen Pointer dazu?

Besten Dank mal dass du mich auf den richtigen Weg gebracht hast!

LG,
Markus