Os campos de texto contêm texto sem formatação ou formatado em HTML. O texto sem formatação está armazenado na propriedade text da instância e o texto HTML está armazenado na propriedadehtmlText.
É possível usar declarações de estilo CSS para definir estilos de texto que você possa aplicar a diferentes campos de texto. As declarações de estilo CSS podem ser criadas no seu código de aplicativo ou carregada em um tempo de execução a partir de um arquivo CSS externo.
A classe flash.text.StyleSheet manipula os estilos das CSS. A classe StyleSheet reconhece um conjunto limitado de propriedades das CSS. Para obter uma lista detalhada das propriedades de estilo que a classe StyleSheet suporta, consulte a entrada flash.textStylesheet na Referência do ActionScript 3.0.
Como o exemplo a seguir mostra, é possível criar as CSS em seu código e aplicar esses estilos ao texto HTML usando um objeto StyleSheet:
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);
Depois de criar um objeto StyleSheet, o código de exemplo cria um objeto simples para manter um conjunto de propriedades de declaração de estilos. Em seguida, ele chama o método StyleSheet.setStyle()que adiciona o novo estilo à folha de estilos com o nome “.darkred”. Depois, ele aplica a formatação da folha de estilos atribuindo o objeto StyleSheet à propriedade styleSheet do TextField.
Para que os estilos das CSS tenham efeito, a folha de estilos deve ser aplicada ao objeto TextField antes que a propriedade htmlText seja definida.
Por design, um campo de texto com uma folha de estilos não é editável. Se tiver um campo de texto de entrada e atribuir uma folha de estilos a ele, o campo de texto apresentará as propriedades da folha de estilos, mas o campo texto não permitirá que usuários insiram o novo texto nele. Além disso, não será possível usar as APIs do ActionScript abaixo em um campo de texto caso uma folha de estilos esteja atribuída:
O método TextField.replaceText()
O método TextField.replaceSelectedText()
A propriedade TextField.defaultTextFormat
O método TextField.setTextFormat()
Se um campo de texto tiver uma folha de estilos atribuída a ele, no entanto, posteriormente, a propriedade TextField.styleSheet for definida como null, o conteúdo das propriedades TextField.text e TextField.htmlText adicionarão tags e atributos ao conteúdo para incorporar a formatação da folha de estilos anteriormente atribuída. A fim de preservar a propriedade htmlText original, salve-a em uma variável antes de definir a folha de estilos como null.