2008-09-06 8 views
2

Ich habe eine ziemlich standardkonforme XHTML + CSS-Site, die auf allen Browsern auf PC und Mac gut aussieht. Neulich sah ich es auf FF3 unter Linux und der Abstand zwischen den Buchstaben war etwas größer, was alles aus dem Gleichgewicht brachte und unerwünschtes Einwickeln und Ausschneiden von Text verursachte. Das betreffende CSS hatWie Sie Ihre Website unter Linux gleich aussehen lassen

font-size: 11px; 
font-family: Arial, Helvetica, sans-serif; 

Ich weiß, dass es mit der generischen Sans-Serif geht, was auch immer das ist. Wenn ich die folgenden hinzufügen, verzieht der Text genug bis zu nahe zu sein, was ich auf den anderen Plattformen erhalten:

letter-spacing: -1.5px; 

aber dies würde einige bösen serverseitige OS Schnüffeln einzubeziehen. Wenn es eine reine CSS-Lösung gibt, würde ich es gerne hören.

Das System in Frage ist Ubuntu 7.04, aber das ist irrelevant, da ich suche, es für mindestens die Mehrheit von, wenn nicht alle Linux-Benutzer zu beheben. Natürlich ist es nicht möglich, den Benutzer zu bitten, eine Schriftart zu installieren!

Antwort

0

Größen-/Abstandsunterschiede sind normalerweise schwer zu erfassen. Sie können eine Linux-spezifische CSS-Datei erstellen, die diese für Linux angepassten Werte enthält, und dann eine einfache JS-basierte Erkennung ausführen, um das CSS zu injizieren, wenn es sich beim Benutzer-Agent um einen Linux-Agenten handelt.

Dies ist wahrscheinlich nicht der sauberste Ansatz, aber es wird funktionieren, und mit dem geringsten Eindringen in Ihre sonst saubere HTML/CSS.

0

Ich finde den einfachsten Weg, Schriftgrößenprobleme zwischen Browsern zu lösen, ist einfach Platz für Fehler zu lassen. Stellen Sie divs etwas größer oder Schriftarten etwas kleiner her, damit sich die Plattformvariation nicht wesentlich verändert.

1

Haben Sie es in FF3 unter Windows versucht?

Persönlich finde ich eine gute CSS Reset ist ein langer Weg, um Ihre Seite in allen Browsern gleich aussehen.

5

Ein List Apart hat eine hübsche comprehensive article on sizing fonts in CSS. Ihre Schlussfolgerung besteht darin, "ems" zu verwenden, um den Text zu skalieren, da er im Allgemeinen die konsistenteste Größe in den Browsern ergibt. Sie erwähnen keine verschiedenen Betriebssysteme, aber Sie sollten versuchen, ems zu verwenden. Es könnte Ihr Problem lösen.

+0

Ich bin bereit, die Fähigkeit des Benutzers zu opfern, seine Leseumgebung in diesem Fall anzupassen. Vielleicht sollte ich den "ziemlich standardkonformen" Teil der Frage bearbeiten ;-) –

0

Wenn Ihre Website nicht mit einer überdurchschnittlichen Menge an Linux-basiertem Datenverkehr rechnet, werden Sie wahrscheinlich mehr Personen beeinträchtigen, wenn Sie "die Fähigkeit des Benutzers opfern, seine Leseumgebung anzupassen" Sorgen um die Linux-Erfahrung.

Nachdem Sie gesagt haben, wenn Sie wollen wollen eine schöne Linux-Erfahrung, sollten Sie die Gründe hinter, warum Ihr Design bricht unter kleinen Variationen der Schriftabstand, angesichts dieser Probleme sind schwer unter aktuellen CSS-Implementierungen zu steuern.

Verwandte Themen