2010-12-09 5 views
0

Im Erkennen, ob der Benutzer Calibri installiert hat:jquery - alle Schriftgrößen anpassen, wo sie deklariert sind?

$(document).ready(function() { 
    var cWidth = $('.calibri').width(); 
    var aWidth = $('.arial').width(); 
    if (cWidth == aWidth){ 
     //No Calibri installed 
    }  
}); 

Wie würde ich alle Klassen finden, die die Schriftgröße definieren und sie dann von sagen wir 20% reduzieren?

+0

Wie @ Protonfish sagte, ist Pixelgenauigkeit im Webdesign nicht praktisch. Und mit JS, um die Größe des Textes zu verändern, wird das Design wahrscheinlich "herumspringen", bei jedem Laden der Seite. – Znarkus

Antwort

0

Vorausgesetzt, dass Ihr Javascript zu diesem Punkt verknüpft arbeitet, Abschluss ist es darum, die Größen einstellen Ich glaube, (wenn ich richtig verstanden habe), hier ist das, was funktionieren sollte:

$(document).ready(function() { 
    var cWidth = $('.calibri').width(); 
    var aWidth = $('.arial').width(); 
    if (cWidth == aWidth){ 
     $('div, span, input, p, h1, h2 ...etc ').each(function(i) { /* This is suspect, it needs to 
            select all tags*/ 
      if($(this).css('font-size').length) { 
       var currentSize = parseInt($(this).css('font-size')); 
       var newSize = currentSize * .8; 
       $(this).css('font-size', newSize + " <unit> "); 
      } 
     }); 
    }  
}); 

Dies ist fraglich, aber vielleicht bringen Sie näher an das, was Sie suchen.

bearbeiten, große Gehirn Furz, müssen Sie nach font-size nach dem Erhalt der Element zu überprüfen. Dies ist immer noch nicht perfekt (nicht in der Lage, es zu testen), aber die Idee ist, müssen Sie für eine Rückkehr von $(this).css('font-size')

Hope dies hilft. Je mehr ich darüber nachdenke, es ist eine ziemlich kluge Sache, zu versuchen.

+0

Danke das war genau die Art von was ich suchte. – davivid

+0

Was ist das Problem? - den Fehler bekommen: '$ (" body "). css (" font-size "). jeder ist keine Funktion. – davivid

+0

Ja, ich habe einen Blick auf mich geworfen. –

1

sollten Sie CSS verwenden:

body {font-size:80%} 

Der Versuch, Schriftarten auf dem Client präzise zu steuern ist ein Spiel Narr; Sie werden viel Zeit damit verbringen, zu versuchen, irgendwann zu versagen. Wenn ein unheiliger Hack existierte, um Ihre exakte Schriftart zu erzwingen, welchen wahren Wert würde es haben? Webseiten sind Dokumente, keine Filmplakate. Stellen Sie Ihre Schriftart als generische Familie ein und machen Sie weiter.

body {font-family:sans-serif} 
+0

so viel, wie ich das gerne machen würde - leider muss ich der Typografie dieses Projektes etwas Aufmerksamkeit schenken. 'body {font-size: 80%}' funktioniert für den Text, der nicht neu deklariert wurde, wie Überschriften und andere Inhaltsbereiche usw. - anstatt diese einzeln anzupassen, muss ich einen automatischen Weg finden. – davivid

+0

Bumm. Entschuldigung, ich war damals nicht hilfreich. Viel Glück. –

Verwandte Themen