2012-06-04 4 views
7

Aus irgendeinem Grund, in meinem Firefox 12.0 für Mac OS X, sind meine ⟩ (⟩) Zeichen viel größer als sie sein sollten. In Chrome und Safari sehen sie genau so aus, wie ich sie haben möchte.Bestimmte HTML-Zeichen Entities sind in Firefox nur RIESIGE

Ich habe AddDefaultCharset utf-8 in meinem .htaccess sowie <meta charset="utf-8"> in meinem <head> (als Gruppe ich diese Dateien liefern verwenden kann nicht meine .htaccess).

Auch, nach Adobe Browser Lab, zeigen IE 7 und 8 nur eine quadratische Box ... gibt es jemanden, den ich diese Browser bekommen kann, um diesen Charakter zu unterstützen? Es würde die Dinge viel einfacher machen (da sich die Farben ändern werden, so dass Bilder sehr unbequem sind und keine Farbe mit Bildern verblasst).

Demo: http://cameronspear.com/demos/rang/

Dies ist, was ich in Chrome sehen und erwarten, um zu sehen:

Chrome

Dies ist, was mein Firefox zeigt:

Firefox

Diese ist ein Screenshot von Browser Labs von IE8:

IE8

TL; DR: Ich möchte alle diese Screenshots wie die erste mit ⟩ aka &rang; Zeichen suchen. Die Verwendung von JavaScript wäre sogar akzeptabel.

Danke.

[Bearbeiten] Ich sollte angeben, dass es nicht so entscheidend ist, ich habe das &rang; Zeichen, wie ich in der Lage bin, seine Farbe mit CSS zu ändern und es über mehrere Browsern gleich aussehen lassen.


Lösung

Ich wollte nur genau teilen, was ich für die Nachwelt willen tat.

Dank Zipfel die Tipps und Ressourcen, habe ich meine eigene SVG mit Inkscape die Vorlage und Methoden verwendet, wie bei „How to make your own icon webfont“ beschrieben. Ich habe einen großen Winkel auf X und einen kleinen auf x abgebildet.

Die einzige Sache, die ich lief, war, dass mein Winkel die Grundlinie berühren muss und nur ungefähr 72% den Weg zur Oberseite der Schachtel "inline" gehen sollte, so war Kapital X mein ursprüngliches zu großes, und Kleinbuchstabe x war der mehr Inline.

I umgewandelt dann meine SVG TTF mit http://www.freefontconverter.com/ und mit http://www.fontsquirrel.com/fontface/generator zu einem WebFont umgewandelt

... und das war es.

Die Demo (http://cameronspear.com/demos/rang/) ist immer noch aktiv. Sie können sehen, dass es in allen Browsern konsistent aussieht und die Onclick-Rotationsanimation dang nahe am Punkt ist usw.

[Update] fand ich eine große Ressource IcoMoon genannt, die Schriften zu machen und die Organisation von Schriften für den Web das, und es nimmt regelmäßig svg Vektoren so können Sie machen es in Illustrator und nicht mess with Inkscape seit IcoMoon Griffe hilft Tastaturbelegung und so. Sie können nur die von Ihnen verwendeten Symbole exportieren, so dass Sie nur 3 oder 4 Symbole laden, wenn Sie das brauchen und nicht die gesamte Schriftart.

Es ist eine unschätzbare Ressource geworden, und ich empfehle allen anderen, die in Icon Fonts gehen wollen, es auszuprobieren. Sie können mehr über den gesamten Prozess von CSS-Trick's 113th Screencast erfahren.

+1

Sie sehen gut aus in FireFox. Was IE betrifft, kann es sehr wenig sein, was Sie dagegen tun können, wenn Sie nicht Ihre eigene Icon-Schriftart erstellen (was nicht wirklich * so * schwer ist, und Sie haben die volle Kontrolle über die Grafik). – Pointy

+0

Sie sind quadratische Boxen für mich sogar in Chrom – Esailija

+0

Ich bekomme Quadrate in Chrome 21.0.1155.2 Dev-m, aber vielleicht ist es ein Dev-Channel-Bug? http://i.imgur.com/NU6qT.png – mayhewr

Antwort

2

Eine Icon-Schriftart zu machen ist einfach genug, dass ich es tun kann, obwohl (für mich) der Prozess etwas mysteriös ist. Ich vermute, es gibt viele tatsächliche Grafiker, die besser darin sind, und sicherlich viele, die die technischen Details mehr verstehen als ich.

Here ist ein ziemlich gründlicher Blog-Eintrag zum Thema. (Nicht mein Blog.) Die Hauptsache, die es nicht sehr gut beschreibt, ist die Beziehung zwischen dem Inkscape "Art Board" -Bereich und der vertikalen Positionierung jedes Glyphs in der Schriftart. Es geht ins Detail, aber ich habe es nie herausgefunden.

Was ich getan habe, ist daher nur eine quadratische Zeichenfläche 1024 Pixel auf einer Seite zu machen. Ich habe dann ein Raster in Inkscape erstellt, so dass das Kunstbrett in ein 16x16 Raster unterteilt ist. Das macht es (etwas) einfach, Zeichen zu entwerfen, die bei einer Schriftgröße von 16px schön rendern. (Natürlich könntest du eine andere Schriftgröße wählen, wenn du willst; 16x16 ist gut für Dinge, die aber ziemlich klein sein müssen.) Dann stelle ich nur sicher, dass wenn ich die Glyphen auf die Seite lege, sie in einem sind 1em von 1em Box (oder 16px um 16px; wie auch immer Sie es in Ihrem CSS tun wollen) ohne Padding. Ich verwende <i> Tags und geben Sie display: inline-block. Das gibt mir viel Flexibilität, und es funktioniert im Allgemeinen gut.

Die Inkscape SVG Font-Tool ist, um es milde auszudrücken, ziemlich roh. Es ist buchstäblich das Ergebnis von jemandes Sommerprojekt. Es funktioniert, aber nicht viel mehr als nur knapp. Sparen Sie oft.

Jetzt ist der Prozess zum Generieren der Schriftart-Dateien etwas verrückt. Ich benutze FontSquirrel. Ich lade die von Inksccape gespeicherte .svg hoch und frage dann nach EOT, WOFF und TTF. Erstaunlicherweise funktioniert es.

Wenn Sie nur ein paar Glyphen benötigen, ist dies eine ziemlich nette Methode, da Sie eine kleine Schriftdatei zum Herunterladen haben, die vom Browser zwischengespeichert wird. Es gibt jedoch einige Probleme mit der Zugänglichkeit, und die Praxis ist ausreichend kontrovers, so dass einige fanatische Mitglieder der Community Sie als Barbaren betrachten können :-)

+0

Sieht gut aus! Ich werde es heute Nachmittag versuchen und Sie wissen lassen. Vielen Dank für diese Beschreibung und die Ressourcen. – CWSpear

+0

Naja ... ich bin am Vektorisieren Zeug, aber das war definitiv die Lösung! Zum Glück war es so ein einfaches Symbol. – CWSpear

6

Können Sie Bilder verwenden? Sie würden ein konsistentes Aussehen über alle Browser hinweg bieten. In vielen Fällen sind Bilder den Zeichensymbolen vorzuziehen.

+1

Eine Symbolschrift kann auch in allen Browsern einheitlich aussehen. – Pointy

+1

@Pointy Das würde auch funktionieren! :) – kevin628

+1

Normalerweise stimme ich zu, ich weiß nur, dass die Farben eine Menge ändern werden, und ich möchte die Symbole nicht jedes Mal aktualisieren. Ich bin ein Programmierer, ich möchte so viel wie möglich aus Photoshop raus sein. An einem Punkt hatten wir es zwischen den Hover-States verblassen lassen, und wenn wir darauf zurückkommen, wäre es schön, wenn der Pfeil auch die Farben wechseln würde und nicht einfach sofort zu weiß/schwarz wechseln würde, weißt du? – CWSpear

2

Dies ist ein Font-Problem. Um die Wahrscheinlichkeit zu erhöhen, dass ein seltenes Zeichen (das in den meisten Schriftarten nicht vorhanden ist) ordnungsgemäß wiedergegeben wird, geben Sie eine maximale Liste der Schriftarten an, die alle enthalten.

Die Seite hat jetzt nur font-family: Arial,sans-serif auf die span Elemente, die die Klammer enthalten. Da Arial es nicht enthält, verwendet jeder Browser seine eigene Definition für sans-serif. Wenn die Karte, der sie zugeordnet ist, keine Klammer enthält, versuchen schlaue Browser etwas Schlaues, wie das Scannen durch andere Schriftarten im System, aber dies kann immer noch dazu führen, dass kein Glyph dafür vorhanden ist.

Es gibt ein zusätzliches Problem.Normalerweise ist es egal, dass Sie Entity-Referenzen wie &rang; anstelle des Zeichens selbst verwenden, aber hier tut es. Durch HTML 4.01, &rang; bedeutet U + 232A; bei HTML5-Entwürfen bedeutet das U + 27E9. IE gehorcht hier HTML 4.01, während Firefox die HTML5-Definition verwendet. Daher ist es besser, das Zeichen zu verwenden, das Sie wirklich möchten, entweder als UTF-8-Codierung oder als Zeichenreferenz &#x232a;.

Wenn Sie z. die font coverage for U+232A und schreiben Sie die Schriften in der Reihenfolge der Präferenz. Sie sollten jedoch prüfen, ob alle Schriftarten eine akzeptable Darstellung bieten. Wenn beispielsweise Cambria Math verwendet wird, ist die Standardzeilenhöhe sehr groß. Daher sollten Sie line-height explizit auf einen vernünftigen Wert wie 1,3 setzen.

Endlich - und das sollte vielleicht zuerst gefragt worden sein - wollen Sie wirklich den RECHTEN WINKELHALTER oder den MATHEMATISCHEN RECHTEN WINKELHALTER verwenden? Sie sind Klammern, die als Paar mit linken spitzen Klammern und nicht mit Pfeilsymbolen verwendet werden.

Einige weitere Informationen: Guide to using special characters in HTML.

+0

Ich möchte Ihnen ernsthafte Requisiten für alle aufschlussreichen Informationen über Zeichencodierungen und Schriftarten geben. Ich habe viel gelernt, diese Lösung zu verfolgen, aber es hat mich nicht ganz dorthin gebracht, deshalb kontrolliert Pointy das Häkchen. Danke für all deine tollen Infos! – CWSpear

Verwandte Themen