Subpixel-Rendering in Browsern
Das Rendern von Subpixeln ist schwierig. Sie können nicht erwarten, dass ein Monitor eine dünne Linie von weniger als einem Pixel rendert. Es ist jedoch möglich, Subpixel-Dimensionen bereitzustellen. Je nach Browser rendern sie diese unterschiedlich. Überprüfen Sie diesen Blog-Beitrag von John Resig darüber.
Wenn Ihr Monitor ein LCD ist und Sie vertikale Linien zeichnen, können Sie problemlos eine 1/3 Pixel-Linie zeichnen. Wenn Ihr Hintergrund weiß ist, geben Sie Ihre Linienfarbe an #f0f
. Für das Auge ist diese Linie 1/3 Pixel breit. Obwohl es eine gewisse Farbe hat, würden Sie beim Vergrößern des Monitors sehen, dass nur ein Segment des gesamten Pixels (bestehend aus RGB) dunkel ist. Dies ist so ziemlich die Technik, die für feine Typhinweise verwendet wird, dh ClearType .
Horizontale Linien können jedoch nur ein ganzes Pixel hoch sein. Das ist die technologische Einschränkung von LCD-Monitoren. CRTs waren mit ihren dreieckigen Leuchtstoffen noch komplizierter (es sei denn, es handelte sich um Blendengitter, z. B. Sony Trinitron), aber das ist eine andere Geschichte.
Grundsätzlich ist das Bereitstellen einer Subpixel-Dimension und das Erwarten, dass sie auf diese Weise gerendert wird, dasselbe wie das Erwarten, dass eine Ganzzahlvariable eine Zahl von 1,2034759349 speichert. Wenn Sie verstehen, dass dies unmöglich ist, sollten Sie verstehen, dass Monitore keine Subpixel-Dimensionen rendern können.
Browserübergreifender sicherer Stil
Die Art und Weise, wie horizontale Regeln eingefügt werden, erfolgt normalerweise mithilfe von Farben. Wenn Ihr Hintergrund zum Beispiel weiß ( #fff
) ist, können Sie immer HR
sehr hell sein. Wie #eee
.
Der browserübergreifende sichere Stil für eine sehr leichte horizontale Regel wäre:
hr
{
background-color: #eee;
border: 0 none;
color: #eee;
height: 1px;
}
Verwenden Sie eine CSS-Datei anstelle von Inline-Stilen. Sie bieten eine zentrale Definition für die gesamte Site und nicht nur für ein bestimmtes Element. Dies verbessert die Wartbarkeit erheblich.