Textfält kan innehålla oformaterad text eller HTML-formaterad text. Oformaterad text lagras i egenskapen text för instansen och HTML-text lagras i egenskapen htmlText.
Du kan använda CSS formatdeklarationer när du vill definiera textformat som kan användas på flera olika textfält. CSS-formatdeklarationer kan skapas i programkoden eller läsas in vid körningstillfället från en extern CSS-fil.
Klassen flash.text.StyleSheet hanterar CSS-format. Klassen StyleSheet identifierar en begränsad uppsättning av CSS-egenskaper. En utförlig lista över de formategenskaper som klassen StyleSheet har stöd för finns i avsnittet om flash.textStylesheet i Referenshandbok för ActionScript® 3.0 i Adobe® Flash® Professional CS5.
Som exemplet nedan visar, kan du skapa CSS i koden och tillämpa formaten för HTML-text genom att använda ett StyleSheet-objekt:
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);
I exempelkoden skapas ett enkelt objekt som lagrar en uppsättning formatdeklarationsegenskaper efter det att du skapat ett StyleSheet-objekt. Sedan anropas metoden StyleSheet.setStyle() som lägger till den nya formateringen i formatmallen med namnet ”.darkred”. Formateringen i formatmallen används genom att objektet StyleSheet tilldelas TextField-egenskapen styleSheet.
För att CSS-format ska aktiveras bör formatmallen tillämpas på TextField-objektet innan egenskapen htmlText anges.
Ett textfält med en formatmall kan inte redigeras. Om du har ett textinmatningsfält och tilldelar det en formatmall, visar textfältet formatmallens egenskaper, men användare kan inte skriva ny text i textfältet. Du kan inte heller använda följande ActionScript API:er på ett textfält som tilldelats en formatmall:
Metoden TextField.replaceText()
Metoden TextField.replaceSelectedText()
Egenskapen TextField.defaultTextFormat
Metoden TextField.setTextFormat()
Om ett textfält har en formatmall tilldelad och egenskapen TextField.styleSheet ställs in på null, kommer innehållet i egenskaperna TextField.text och TextField.htmlText att lägga till taggar och attribut i innehållet för att inkludera formateringen från den tilldelade formatmallen. För att bevara den ursprungliga htmlText-egenskapen, ska du spara den som en variabel innan formatmallen ställs in på null.