Tekstvelden kunnen platte tekst of tekst met HTML-opmaak bevatten. Platte tekst wordt opgeslagen in de eigenschap text van de instantie en HTML-tekst in de eigenschap htmlText.
U kunt CSS-stijldeclaraties gebruiken om tekststijlen te definiëren die u kunt toepassen op veel verschillende tekstvelden. CSS-stijldeclaraties kunnen worden gemaakt in de toepassingscode of bij het uitvoeren worden geladen vanuit een extern CSS-bestand.
De klasse flash.text.StyleSheet behandelt de CSS-stijlen. De klasse StyleSheet herkent een beperkte set CSS-eigenschappen. Zie de vermelding over flash.textStylesheet in de Naslaggids voor ActionScript® 3.0 voor Adobe® Flash® Professional CS5 voor een gedetailleerde lijst stijleigenschappen die door de klasse StyleSheet worden ondersteund.
Zoals het volgende voorbeeld aangeeft, kunt u CSS maken in uw code en die stijlen toepassen op HTML-tekst door gebruik te maken van een StyleSheet-object:
var style:StyleSheet = new StyleSheet();
var styleObj:Object = new Object();
styleObj.fontSize = "bold";
styleObj.color = "#FF0000";
style.setStyle(".darkRed", styleObj);
var tf:TextField = new TextField();
tf.styleSheet = style;
tf.htmlText = "<span class = 'darkRed'>Red</span> apple";
addChild(tf);
Wanneer u een StyleSheet-object hebt gemaakt, maakt de voorbeeldcode een eenvoudig object dat een set stijldeclaratie-eigenschappen bevat. Vervolgens wordt de methode StyleSheet.setStyle() aangeroepen, waarmee de nieuw stijl wordt toegevoegd aan het opmaakmodel met de naam “.darkred”. Vervolgens wordt de opmaakmodelopmaak toegepast door het StyleSheet-object toe te wijzen aan de tekstveldeigenschap styleSheet.
CSS-stijlen werken pas wanneer het opmaakmodel wordt toegepast op het TextField-object voordat de eigenschap htmlText wordt ingesteld.
Een tekstveld met een opmaakmodel kan niet worden bewerkt. Als u een invoertekstveld hebt en hieraan een opmaakmodel toewijst, vertoont het tekstveld de eigenschappen van het opmaakmodel, maar staat het tekstveld niet toe dat gebruikers hierin nieuwe tekst invoeren. U kunt ook de volgende ActionScript-API's niet gebruiken op een tekstveld met een hieraan toegewezen opmaakmodel:
De methode TextField.replaceText()
De methode TextField.replaceSelectedText()
De eigenschap TextField.defaultTextFormat
De methode TextField.setTextFormat()
Als aan een tekstveld een opmaakmodel is toegewezen, maar de eigenschap TextField.styleSheet later wordt ingesteld op null, voegt de inhoud van zowel de eigenschap TextField.text als TextField.htmlText tags en kenmerken toe aan de inhoud, om de opmaak uit het eerder toegewezen opmaakmodel op te nemen. Als u de oorspronkelijke eigenschap htmlText wilt behouden, slaat u deze op in een variabele, voordat u het opmaakmodel instelt op null.