2017-06-28 1 views
2

Ich versuche, die Größe meiner Adobe AIR-Anwendungsschriften entsprechend der Bildschirmgröße mit CSS zu ändern. Es scheint, dass em kein gültiger CSS-Wert ist und auch %.(Flex) - Adobe AIR - Schriftgröße mit em? Mit Prozent?

font-size:8%; // Not a valid value 
font-size:8em; // Not a valid value 

Welche CSS-Werte kann ich einstellen verwenden eine dynamische font-size (mit AIR 24)?

Bitte beachten Sie, dass ich nicht möchte @media CSS-Abfragen verwenden.

+0

Der einzige Wert für die Bildschirmgröße ist 'vw' oder' vh' ... 'em' sind proportional zur Schriftgröße des übergeordneten Elements, –

+0

Haben Sie * vh */* vw * Einheiten ausprobiert? https://StackOverflow.com/Q/32174298/3597276 –

+0

@Michael_B Das Problem ist, dass AIR diese Werte nicht unterstützt. –

Antwort

3

In Flash/AIR, ist CSS ein wenig anders und nur Zahlen verwendbar sind parsen:

size - Nur der numerische Teil des Wertes verwendet wird. Einheiten (px, pt) werden nicht analysiert; Pixel und Punkte sind gleichwertig.

Siehe: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/StyleSheet.

Flash/AIR verfügt auch über andere CSS-Medienabfragen. Wenn Sie diesen Weg am Ende gehen würden Sie wahrscheinlich so etwas wie die application-dpi verwenden möchten:

@media (application-dpi: 160) { 
    .someStyle { 
     font-size: 12px; 
    } 

@media (application-dpi: 240) { 
    .someStyle { 
     font-size: 14px; 
    } 

See: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf62883-7ff2.html#WS19f279b149e7481c4a89460c12d804a111e-8000

Sie wahrscheinlich auch die Stile durch Code könnten versuchen ändern:

var tf:TextFormat = new TextFormat(); 
if(someScreenSizeVariable < 640) { 
    tf.size = 10; 
} else { 
    tf.size = 13; 
} 
StyleManager.setStyle("textFormat", tf); 

Siehe: http://help.adobe.com/en_US/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7f5b.html#WS5b3ccc516d4fbf351e63e3d118a9c65b32-7f3b