2009-06-04 1 views
14

Wo mache ich mich falsch?Wie werden Ränder 0 in der Druckvorschau eingestellt?

Dies ist die normale Druckvorschau: this is the first picture

Aber ich mag dieses Bild sehen (ohne Rand Pfeile ziehen) alt text

Damit wird den CSS-Codes und die Vorschau:

alt text

+0

Über @page 1: http://www.w3.org/TR/CSS2/page.html#x3 2: http://www.belgeler.org/recs/css2/ page.html – uzay95

Antwort

11

Das Beste, was Sie tun können, ist @page margins. Beachten Sie jedoch, dass Sie möglicherweise und höchstwahrscheinlich überstimmt werden, wenn Sie die Ränder auf 0 setzen.

+0

Bedeutet das, dass Sie einfach so etwas tun? '@page {Rand: 1in; } ' –

0

Ich glaube nicht, dass es tatsächlich möglich ist, dies zu tun, weil Sie die Standardeinstellungen des Benutzers überschreiben würden Computer. Soweit ich weiß, hat eine Webanwendung nicht die Zugriffsrechte, um etwas wie Druckereinstellungen ohne irgendeine Art von ActiveX-Skript in IE zu ändern.

Ich hatte vor einer Weile ein ähnliches Problem und musste am Ende ein PDF mit TCPDF erzeugen. Am Ende hat das besser funktioniert, weil Sie das Layout besser kontrollieren können.

13

Ja. Es ist möglich, die Ränder in einem Seitenausdruck zu ändern. Die Regel würde wie folgt aussehen:

@page { 
    margin: 0; 
} 

Dies wird in Firefox ab sofort nicht funktionieren. Wenn Sie ihre Entwicklerreferenz auf der @page CSS support überprüfen, können Sie sehen, welche Browser @page unterstützen.

0

Ich bin daran gehindert, einen Computer von Windows XP auf etwas neueren zu aktualisieren, also bin ich im Wesentlichen mit IE8 fest.

Ich fand, dass auf IE8, Seitenränder immer ein Minimum von 6,01 mm links und rechts und 5 mm oben und unten sein wird. Egal, was ich tue, selbst wenn ich die Regeln @ oben links in der Mitte und die Mitte innerhalb der Regel @page verwende, wird sie immer noch auf die obigen Werte eingestellt.

Es ist möglicherweise einfacher, das Stylesheet zu erstellen, um diese Beschränkung der Druckgröße zu berücksichtigen.

Es kann auch helfen, den IE hack \ 9 vor den Wert der CSS-Klasseneigenschaft zu setzen, das Duplizieren der Eigenschaft kann in manchen Fällen auch helfen (hat aber keinen Einfluss auf die Ränder der Seite), wie:

.aDiv { 
    margin: 10mm; 
    margin: 15mm\9;  //this \9 hack will set that value only on IE8. 
} 

ich weiß, es gibt auch andere Hacks diesem ähnlich ist, wie \ 0, aber ich gebe sie nicht ganz verstehen. \ 9 funktioniert in IE8 in einigen Situationen für mich.

1

Danke! funktioniert gut auf Chrom

@page { 
    margin: 0; 
}