Druckstylesheet: Inhalt wird "abgeschnitten"
sunny
- css
0 Sven Rautenberg
Hallo!
Wie bereist angekündigt - da bin ich wieder! Und natürlich gibts immer noch Probleme mit meiner Seite.
Am Druckstylesheet hab ich jetzt noch ein bisschen herumgebastelt, es jedoch trotzdem nicht hinbekommen, dass bei "überlangem" Inhalt eine zweite Seite begonnen wird. Sowohl IE als auch Mozilla schneiden den Text einfach ab, der Rest, der nicht mehr draufpasst fehlt natürlich. Weiß jemand woran das liegt bzw. wie ich mir abhelfen könnte?
Zu sehen noch immer unter http://www25.brinkster.com/simone2305
Übrigens (an Mathias und Orlando), das Problem, das ich mit der Position der per JS eingeblendeten divs hatte hab ich jetzt auch gelöst: Einfach noch ein div außen herumgelegt, das den linken Rand bestimmt, somit sind die Links und die divs automatisch an der selben Stelle positioniert, nachdem sich die einzelnen divs ja nicht von margin:left;, padding:left; etc. beeinflussen haben lassen, warum auch immer ...
Liebe Grüße,
sunny
Moin!
Am Druckstylesheet hab ich jetzt noch ein bisschen herumgebastelt, es jedoch trotzdem nicht hinbekommen, dass bei "überlangem" Inhalt eine zweite Seite begonnen wird. Sowohl IE als auch Mozilla schneiden den Text einfach ab, der Rest, der nicht mehr draufpasst fehlt natürlich. Weiß jemand woran das liegt bzw. wie ich mir abhelfen könnte?
Erstmal: Du hast ein _Druck_stylesheet für die Ausgabe auf Papierdruckern, die mit Farbe arbeiten. Dafür ist die Angabe media="print" vorgesehen, nicht media="embossed" (letztere ist für Blindenschrift vorgesehen - und wird von keinem Browser verstanden, weil auch die Drucker für sowas extrem selten sind). Nimm embossed raus, lass nur print drin.
Und außerdem gelten deine CSS-Angabe, die du in der Datei für Bildschirmdarstellung gemacht hast, auch in der Druckansicht - weil du diesen Dateien nicht media="screen" zugewiesen hast.
Das @import-Kommando ist in dieser Hinsicht im IE leider nicht besonders gut eingebunden.
Laut SelfHTML ist für eine Einbindung für ein bestimmtes Medium das hier richtig:
@import url(screen.css) screen;
Der IE (Windows) versteht dieses Konstrukt nicht und lädt die CSS-Datei "url(screen.css)%20screen" - was auf dem Server einen 404-Fehler ergibt. IE für Mac (und alle anderen Browser) verstehen die Zeile aber.
Die Alternative ist, innerhalb von @media ein @import zu platzieren:
@media screen {
@import url(screen.css);
}
Das versteht der IE Mac leider nicht - der kennt (bis Version 5.1 zumindest) überhaupt kein @media.
Für die korrekte Einbindung sind also beide Zeilen und das Tolerieren der 404-Fehler im Logfile notwendig.
Auch ein geschicktes Umschreiben der vom IE falsch verstandenen URL würde nichts bringen, da das Stylesheet ja als "nur für Bildschirm" eingebunden werden muß - und der IE das augenscheinlich nicht tun wird (ich hab's nicht getestet, aber vermute es ganz stark - sonst würde der IE die Medien-Information des @import verstehen).
- Sven Rautenberg
Hallo Sven!
Nimm embossed raus, lass nur print drin.
Ok - mach ich!
Und außerdem gelten deine CSS-Angabe, die du in der Datei für Bildschirmdarstellung gemacht hast, auch in der Druckansicht - weil du diesen Dateien nicht media="screen" zugewiesen hast.
Na ja, deshalb weil der IE das ansonsten im Zusammenspiel mit @import nicht versteht.
Und das Druckstylesheet funktioniert ja bis auf dieses Problem mit dem abgeschnitten Text ...
Das @import-Kommando ist in dieser Hinsicht im IE leider nicht besonders gut eingebunden.
Hmm, ja, sagte ich auch gerade :)
Aber @import hab ich wegen NN 4.x verwendet, weil der das gar nicht versteht und ich so ein eigenes Stylesheet für den "Nerv-Browser" einbauen konnte.
Laut SelfHTML ist für eine Einbindung für ein bestimmtes Medium das hier richtig:
@import url(screen.css) screen;
Der IE (Windows) versteht dieses Konstrukt nicht und lädt die CSS-Datei "url(screen.css)%20screen" - was auf dem Server einen 404-Fehler ergibt. IE für Mac (und alle anderen Browser) verstehen die Zeile aber.
Die Alternative ist, innerhalb von @media ein @import zu platzieren:
@media screen {
@import url(screen.css);
}
Das versteht der IE Mac leider nicht - der kennt (bis Version 5.1 zumindest) überhaupt kein @media.
Na ja das ist ja dann auch nicht wirklich gut.
Für die korrekte Einbindung sind also beide Zeilen und das Tolerieren der 404-Fehler im Logfile notwendig.
Aber das ändert leider nichts an meinem Problem ...
Grüße,
sunny
Guten Morgen - oder beinah schon Mahlzeit!
Die Alternative ist, innerhalb von @media ein @import zu platzieren:
@media screen {
@import url(screen.css);
}
Für die korrekte Einbindung sind also beide Zeilen und das Tolerieren der 404-Fehler im Logfile notwendig.
Also ich hab da jetzt noch so einiges herumprobiert, aber entweder ich hab im IE (6.0) keine Styles mehr oder das Druckstyle macht dasselbe wie zuvor auch - nämlich keine 2. Seite beginnen.
Hab auch schon probiert dem body und dem iframe einfach eine große Höhe zuzuweisen etc. aber das funktioniert leider auch alles nicht ...
Gibts nicht noch irgendeinen Workaround o.Ä. den ich probieren könnte?
Liebe Grüße,
sunny
Moin!
Also ich hab da jetzt noch so einiges herumprobiert, aber entweder ich hab im IE (6.0) keine Styles mehr oder das Druckstyle macht dasselbe wie zuvor auch - nämlich keine 2. Seite beginnen.
Könnten deine Probleme damit zusammenhängen, dass dein Content in einem IFrame steht? Das würde natürlich erklären, warum deine Druckseite den Iframe auf eine Seite begrenzt - und den Rest nicht darstellen kann (in diesem Zusammenhang: Eklig, dass du das scrollen im IFrame abgeschaltet hast - aber Opera scrollt zum Glück immer - mit Mausrad).
Wenn du ordentliche Ausdrucke haben willst, dann organisier dein Design so, dass alles in _einem_ HTML-Dokument vorliegt, was ausgedruckt werden soll - am besten ohne irgendwelche IFrames. Denn wenn du IFrames verwendest, mußt du das Drucken mit Javascript auslösen - die browsereigene Druckfunktion versagt (druckt nur das Hauptfenster - abgeschnitten). Und die Druckfunktion per Javascript auszulösen funktioniert nicht bei allen Browsern! "window.print()" wird z.B. vom Internet Explorer für Mac nicht verstanden - diese User kriegen dann nur die halbe Seite. Alternative wäre, einen Link zur Seite in einem neuen Fenster zu öffnen (oder im Hauptfenster) und als "Druckversion" zu kennzeichnen - ist aber wirklich unnötig, wenn du einfach ohne IFrames komplette Seiten ausliefern würdest.
- Sven Rautenberg