'underline' wird nicht gedruckt
Onkel Schnitzel
- css
Hallo,
ich habe mir jetzt ein Druck-Stylesheet angelegt. Es waren mehr Anpassungen nötig als ich gedacht hatte, vor allem mit den Schriftgrößen. 'pt' und 'px' verhalten sich beim Druck geradezu abenteuerlich, keine Spur von absoluten Einheiten. Habe ich eine Schriftgröße verändert, haben sich andere gleich mitgeändert, aber das nur nebenbei.
Jetzt habe ich das Problem, dass mein text-decoration: underline; nicht gedruckt wird, auch mit border kein Ergebnis. Alle anderen Eigenschaften, wie 'font-weight' kann ich ändern. Hat jemand ne Idee?
Grüße,
Onkel Schnitzel
Hallo,
es wäre ganz schön, wenn Du die entsprechenden Code-Schnipsel hier posten könntest. Denn ein generelles Problem mit 'underline' für die Druckausgabe wäre mir nicht bekannt.
Mit freundlichem Gruß
David
ich habe mir jetzt ein Druck-Stylesheet angelegt. Es waren mehr Anpassungen nötig als ich gedacht hatte, vor allem mit den Schriftgrößen. 'pt' und 'px' verhalten sich beim Druck geradezu abenteuerlich, keine Spur von absoluten Einheiten. Habe ich eine Schriftgröße verändert, haben sich andere gleich mitgeändert, aber das nur nebenbei.
px ist auf einem pixelbasiernden medium absolut, pt relativ
pt ist in druckausgabe absolut, px relativ
eine 100px breite grafik ist auf einem pixelbasiernden ausgabemedium immer 100px breit - mal sind 100px fast so breit wie das display (handy), mal nur ein kleiner kasten (grosser monitor)
wenn du eine 100x100px grosse grafik auf einem blatt papier mit 100 dpi druckst wird die grafik genau 1x1 zoll (2,54 cm) gross sein - druckst du sie mit 200dpi wird die grafik nur eine halbes zoll mal ein halbes zoll gross sein
zu aller ungünstigkeit kann man auch noch in grafiken die maße dpi-anzahl hinterlegen - was natürlich beim drucken teilweise probleme macht, glücklicherweise fangen viele browser das ganze ab
ein punkt (pt) hingegen ist immer 1/72 zoll - ein zeichen mit schriftgröße 72 ist also exakt 2,54 cm hoch - egal in welcher auflösung du druckst - bei 100 dpi werden halt für dieses zeichen 100 pixel in der höhe gedruckt, bei 4800 dpi eben 4800
es ist also keineswegs abenteuerlich, man muss nur verstehen wies funktioniert
Jetzt habe ich das Problem, dass mein text-decoration: underline; nicht gedruckt wird, auch mit border kein Ergebnis. Alle anderen Eigenschaften, wie 'font-weight' kann ich ändern. Hat jemand ne Idee?
versuche mal folgendes: gib deinem gewöhnlichen stylesheet den medientyp screen - zum testen! <link [...] media="screen" /> damit stellst du sicher dass du keine informationen ins printstylesheet übernimmst - dann setzt du in den printstylesheet nur den medientyp print und gibts als einzigen selktor + deklaration folgendes an:
* { text-decoration: underline !important; }
nun sollte in der druckansicht alles unterstrichen sein - wenn das funktioniert, hast du etwas falsch gemacht ;)
ansonsten ist ein link mit einem beispiel immer hilfreich
Danke für deine Erklärungen. Dass sich px in Druckmedien relativ verhält, wusste ich nicht. Naja, jedenfalls funktioniert jetzt auch die Unterstreichung, auch wenn ich mir nicht erklären kann, warum. Ist für mich einfach nicht nachvollziehbar.
Egal, Danke und Beste Grüße
Hi!
Naja, jedenfalls funktioniert jetzt auch die Unterstreichung, auch wenn ich mir nicht erklären kann, warum. Ist für mich einfach nicht nachvollziehbar.
Egal, ...
Nein - nicht egal.
Denn dann hast du nichts daraus gelernt, und läufst somit Gefahr, den selben Fehler bei nächster Gelegenheit wieder zu machen.
Deine Antwort ist eigentlich eine "Ohrfeige" für alle, die sich hier bemühen, dir beim Verständnis deines Problems zu helfen. Und das ist ja in diesem Forum die Haupt-Intention, und nicht etwa gebrauchsfertige Lösungen ohne jeglichen Kommentar zu liefern.
Allerdings hast du uns deinen Code-Ansatz ja auch vorenthalten, genauso wie den jetzt "vermeintlich" richtig funktionierenden.
Gruß Gunther
Nein - nicht egal.
Denn dann hast du nichts daraus gelernt, und läufst somit Gefahr, den selben Fehler bei nächster Gelegenheit wieder zu machen.
Da ist was dran. Zumal immer noch nicht restlos alle Frage geklärt sind. Zum Beispiel funktioniert zwar jetzt die Unterstreichung, aber wenn ich eine Hintergrundfarbe anlege (was ich ursprünglich mal vor hatte), ist im Druck nichts von Farbe zu sehen.
..So, ich sehe gerade, jetzt gehts das Theater wieder los, kurz testhalber background-color angelegt, wieder rausgenommen und plötzlich funktioniert die Unterstreichung nicht mehr. Ich habe den Code jetzt mal auf das nötigste gekürzt, sieht von der Semantik her natürlich etwas komisch aus. Das Problem besteht jedenfalls nach wie vor.
Hier könnt ihrs euch ansehen (nicht vergessen, in die Druckvorschau zu gehen):
http://www.the-invains.de/selfhtml/
Und hier die CSS-Schnipsel:
.screen {
display: none;
}
body {
margin: 0;
padding: 0;
font: 8pt Arial, Helvetica, sans-serif;
line-height: 10pt;
}
#spalte_text {
margin: 0 0 0 35pt;
}
#spalte_text p {
margin-top: 1pt;
margin-bottom: 1pt;
}
h1 {
font-size: 13pt;
color: rgb(96,104,114);
margin: 0 0 20pt 0;
font-weight: bold;
}
.komp_fragen {
/*width: 370px;*/
color: #FFFFFF;
font-size: 9pt;
font-weight: bold;
margin: 15pt 0 3pt 0;
text-decoration: underline;
}
Beste Grüße,
Onkel Schnitzel
Hi!
Hier könnt ihrs euch ansehen (nicht vergessen, in die Druckvorschau zu gehen):
http://www.the-invains.de/selfhtml/
body {
margin: 0;
padding: 0;
font: 8pt Arial, Helvetica, sans-serif;
line-height: 10pt;
}
Das verursacht dein Prob.^^^^
.komp_fragen {
/*width: 370px;*/
color: #FFFFFF;
font-size: 9pt;
font-weight: bold;
margin: 15pt 0 3pt 0;
text-decoration: underline;
}
Die Farbe ist wenig sinnvoll.
Ob Hintergrundfarben und -bilder gedruckt werden, ist eine Einstellungsfrage beim jeweiligen Client.
Deine Line-Height Angabe für body (wird vererbt) ist schuld daran, dass die durchaus vorhandene Unterstreichung aus "Platzmangel" nicht sichtbar ist.
Siehe auch: http://www.w3.org/TR/CSS21/visudet.html#line-height
Imho ist die Angabe hier sowieso wenig sinnvoll und überflüssig. Du willst line-height nämlich eher für margin und padding missbrauchen.
Gruß Gunther
Deine Line-Height Angabe für body (wird vererbt) ist schuld daran, dass die durchaus vorhandene Unterstreichung aus "Platzmangel" nicht sichtbar ist.
Klingt einleuchtend, aber es geht auch ohne line-height nicht, auch nicht mit rieeeeesigem line-height. Bei mir jedenfalls nicht :-/
Hi!
Deine Line-Height Angabe für body (wird vererbt) ist schuld daran, dass die durchaus vorhandene Unterstreichung aus "Platzmangel" nicht sichtbar ist.
Klingt einleuchtend,
Ist es auch. ;-)
aber es geht auch ohne line-height nicht, auch nicht mit rieeeeesigem line-height. Bei mir jedenfalls nicht :-/
Browser-Cache geleert?
Und ansonsten bitte immer den verwendeten Code posten.
Gruß Gunther
Browser-Cache geleert?
Und ansonsten bitte immer den verwendeten Code posten.
Also hier nochmal die Datei und das komplette CSS, eigentlich genau wie vorher, nur mit verändertem line-height. Der Cache dürfte in Ordnung sein, in der Druckvorschau ist der Abstand jetzt riesig, aber halt immer noch keine Unterstreichung zu sehen:
http://www.the-invains.de/selfhtml/
.screen {
display: none;
}
body {
margin: 0;
padding: 0;
font: 8pt Arial, Helvetica, sans-serif;
line-height: 40pt;
}
#spalte_text {
margin: 0 0 0 35pt;
}
#spalte_text p {
margin-top: 1pt;
margin-bottom: 1pt;
}
h1 {
font-size: 13pt;
color: rgb(96,104,114);
margin: 0 0 20pt 0;
font-weight: bold;
}
.komp_fragen {
/*width: 370px;*/
color: #FFFFFF;
font-size: 9pt;
font-weight: bold;
margin: 15pt 0 5pt 0;
text-decoration: underline;
}
Das Verhalten bleibt rätselhaft, nach wie vor. Ich habe testhalber alles aus dem CSS genommen, bis auf 'text-decoration: underline', und siehe da, er hats unterstrichen! Dann habe ich alles wieder reingenommen ins Stylesheet, um nach und nach die Fehlerquelle zu isolieren, und was passiert? Plötzlich unterstreicht ers auch mit dem alten Stylesheet. Das ist das genau das Verhalten, das ich anfangs schon geschildert hatte. Umgekehrt, also dass es plötzlich nicht mehr gut, kanns wohl leider wieder genauso schnell gehen. Ich steig da nicht durch...
Ich teste übrigens auf Firefox (neueste Version), nur der Vollständigkeit halber.
Klingt einleuchtend, aber es geht auch ohne line-height nicht, auch nicht mit rieeeeesigem line-height. Bei mir jedenfalls nicht :-/
dann liegts an etwas anderem, wie gesagt - wirf das komplette print css weg und bau es neu
üblicherweise hat ein gutes print stylesheet nur ein paar zeilen - alles ausblenden was keinen interessiert, das reicht meistens schon