cm genaues druckfertiges layout?
Roger
- css
0 Daniel unreg0 Roger0 D.R.0
MudGuard
0 Daniel unreg0 D.R.
0 wucher wichtel
Hallo,
ist es überhaupt möglich ein druckfertiges
allgemeingültiges Layout zu erstellen?
Damit meine ich browser- und auflösungsunabhängig.
Ich habe mal den Versuch gewagt, dachte an etwas einfaches
und habs deshalb mit einer Visitenkarten Vorlage probiert.
Ziel sollte sein einige Felder mit den Abmessungen 85mm x 55mm
zu erhalten und das bekomme ich so nicht exakt hin.
Ich habe mich natürlich ein wenig mit @page Angaben, media="print"
usw. auseinandergesetzt aber das brachte auch nichts.
Was bleibt ist am Ende grob schätzen, dass es passt, aber
das bedeutet bei jedem Rechner, Drucker anderes Ergebniss.
Hier mal ein Beispiel:
<html>
<head>
<style type="text/css">
vtd{height:55mm;width:85mm;}
</style>
</head>
<body>
<h1>text</h1>
<table cellspacing="0" cellpadding="0" border="1">
<tr><td class="vtd">xxx</td><td class="vtd">yyy</td></tr>
<tr><td class="vtd">xxx</td><td class="vtd">yyy</td></tr>
<tr><td class="vtd">xxx</td><td class="vtd">yyy</td></tr>
<tr><td class="vtd">xxx</td><td class="vtd">yyy</td></tr>
<tr><td class="vtd">xxx</td><td class="vtd">yyy</td></tr>
<tr><td class="vtd">xxx</td><td class="vtd">yyy</td></tr>
</table>
</body>
</html>
Gruss
Roger
Hallo,
ist es überhaupt möglich ein druckfertiges
allgemeingültiges Layout zu erstellen?
Wie du schon erkannt hast gibt es möglichkeiten Stylesheets nur für den Druck zu erstellen.
Damit meine ich browser- und auflösungsunabhängig.
Üblicherweise werden Drucklayouts nicht im Browser angezeigt. Di Auflösung spielt vermutlich keine Rolle, aber anscheinend interpretieren die Browser mm und cm nicht alle gleich. Genau weiß ich es nicht, die habe ich noch nie versucht.
Ziel sollte sein einige Felder mit den Abmessungen 85mm x 55mm
zu erhalten und das bekomme ich so nicht exakt hin.
Wenn du etwas exates willst ist HTML wohl die falsche Sprache für dich. HTML will Informationen möglichst Browser- und Systemunabhängig verbreiten. Mit Stylesheets kann man das zwar gestalten, aber exakt ist das nicht.
Eventuell bist du mit einem Textverarbeitungsprogramm besser beraten.
Hier mal ein Beispiel:
Ich gebe hier mal den Tipp, dass du als CSS Selektor auch vtd > td angeben kannst, womit du nicht jedem <td> sondern nur <table> die Klasse zuweisen müsstest.
Gruß
Hallo,
Danke für die Antwort
Eventuell bist du mit einem Textverarbeitungsprogramm besser beraten.
Ja, das ist klar, doch es soll ja online arbeiten.
Ich gebe hier mal den Tipp, dass du als CSS Selektor auch vtd > td angeben kannst, womit du nicht jedem <td> sondern nur <table> die Klasse zuweisen müsstest.
Das finde ich äusserst interessant, aber wie setzt man das um?
So funktioniert es nicht:
<style type="text/css">
body{font-size:11px;}
.vtd{height:55mm;width:85mm;}
</style>
<table class="vtd > td" cellspacing="5" cellpadding="2" border="1" bordercolor="black">
<tr><td>xxx</td><td>yyy</td></tr>
<tr><td>xxx</td><td>yyy</td></tr>
<tr><td>xxx</td><td>yyy</td></tr>
<tr><td>xxx</td><td>yyy</td></tr>
</table>
Gruss
Roger
Hallo,
Das finde ich äusserst interessant, aber wie setzt man das um?
So funktioniert es nicht:
<style type="text/css">
body{font-size:11px;}
.vtd{height:55mm;width:85mm;}
</style><table class="vtd > td" cellspacing="5" cellpadding="2" border="1" bordercolor="black">
[…]
Selektoren haben nichts mit der Klasse zu tun.
Schau mal http://de.selfhtml.org/css/formate/zentrale.htm#verschachtelte_elemente@title=hier.
Allerdings habe ich so meine Zweifel, dass das funktionieren wird. Da eine Tabelle ja noch die <tr>-Elemente enthält. Du müsstest diese also mindestend ebenfalls selektieren.
Hier mal ein Beispiel, wie du das anwenden könntest (Stylesheet):
.vtd > tr > td {height:55mm;width:85mm;}
Das class-Attribut, musst du so, wie im Ausgangsposting lassen.
Übrigens gehören Attribute wie „cellpadding“, „border“ und „bordercolor“ ebenfalls in dein CSS (teilweise in leicht veränderter Form).
mfg. Daniel
Hi,
Allerdings habe ich so meine Zweifel, dass das funktionieren wird. Da eine Tabelle ja noch die <tr>-Elemente enthält.
Und ggf. auch noch tbody.
cu,
Andreas
Hallo,
Ja, das ist klar, doch es soll ja online arbeiten.
Ich arbeite, wie gesagt, leier nicht mit cm und mm, gibt es da beim Drucken wirklich so große Unterschiede?
Das finde ich äusserst interessant, aber wie setzt man das um?
Nein, ich habe auch einen Fehler gemacht.
Im Stylebereich dieses:
.vtd td {}
/* oder: */
.vtd > tr > td {}
Ersteres Bedeutet: Ein <td>, welches innerhalb eines Elements mit der Klasse vtd sich befindet.
Letzteres bedeutet: <td>, welche sich innerhalb von <tr> befinden, wobei diese sich innerhalb des Elements mit der gegebenen Klasse befinden müssen.
Gruß;
Hallo,
Ja, das ist klar, doch es soll ja online arbeiten.
Ich arbeite, wie gesagt, leier nicht mit cm und mm, gibt es da beim Drucken wirklich so große Unterschiede?
Es ist zumindest dem OS/Browser oder was auch immer überlassen, wie groß bestimmte Dinge dann gedruckt werden, wenn man keine Druck-Einheiten verwendet.
Andererseits hat das dann wieder den Vorteil, dass der User die Größe dieser Flächen in manchen Browsern (z.B. Firefox), selbst beeinflussen kann.
Allerdings nur in der Druckvorschau.
Übrigens sind „pt“, „pc“ und „in“ ebenfalls absolut. Mit diesen Angabe verhält es sich also ähnlich, wie mit cm, mm.
mfg. Daniel
Hallo!
Daniel hat eigentlich schon alles gesagt. Aber ich wollte noch sagen, dass du lieber das PDF-Format nimmst, wenn du willst, dass es überall gleich aussieht.
ciao, ww