Application de feuilles de style en cascade

Les champs texte peuvent contenir du texte brut ou du texte au format HTML. Le texte brut est stocké dans la propriété text de l'instance, et le texte HTML dans la propriété htmlText.

Vous pouvez utiliser des déclarations de styles CSS pour définir des styles de texte à appliquer ensuite à différents champs texte. Une déclaration de style CSS peut être créée par code ou chargée lors de l'exécution à partir d'un fichier CSS externe.

C'est la classe flash.text.StyleSheet qui gère les styles CSS. La classe StyleSheet ne reconnaît qu'un nombre limité de propriétés CSS. La liste des propriétés de style prises en charge par la classe StyleSheet figure dans l'entrée flash.textStylesheet du manuel Référence du langage et des composants ActionScript 3.0.

Comme le montre l'exemple suivant, vous pouvez créer des feuilles de style CSS et les appliquer à du texte HTML au moyen de l'objet 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);

Après la création de l'objet StyleSheet, le code crée un objet simple pour contenir un jeu de propriétés de déclaration de style. IL appelle ensuite la méthode StyleSheet.setStyle(), qui ajoute le nouveau style à la feuille de style sous le nom « darkred ». Puis il applique les formats de la feuille de styles en affectant l'objet StyleSheet à la propriété styleSheet de l'objet TextField.

Pour que les styles CSS puissent prendre effet, il est nécessaire d'appliquer la feuille de style à un objet TextField avant de définir la propriété htmlText.

Par essence, un champ texte doté d'une feuille de style n'est pas modifiable. Si vous attribuez une feuille de style à un champ de texte saisi, le champ texte affiche les propriétés de la feuille de style, mais le champ texte ne permet pas à l'utilisateur de saisir du texte. En outre, vous ne pouvez pas utiliser les méthodes ActionScript suivantes sur un champ texte doté d'une feuille de style :

Si un champ texte est doté d'une feuille de style mais que par la suite la propriété TextField.styleSheet reçoit la valeur null, TextField.text et TextField.htmlText ajoutent des balises et des attributs à leurs contenus afin d'incorporer le formatage de la feuille de style précédemment attribuée. Pour préserver la propriété htmlText d'origine, enregistrez-la dans une variable avant d'attribuer la valeur null à la feuille de style.


Flash CS3

 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000231.html