Auteur: Jérôme Forget. Publié le 11 juillet 2006.
Afin d'appliquer une feuille de style CSS externe à un champ de texte dynamique, nous utiliserons la classe StyleSheet.
Après avoir défini votre document CSS, sauvegardez-le dans le même répertoire que celui où se trouvera votre fichier .swf. Dans Flash, entrez maintenant le code suivant:
// Permet au champ de texte d'accepter les balises HTML
tChamp.html = true;
// Crée un objet StyleSheet
var cssStyles:TextField.StyleSheet = new TextField.StyleSheet();
// Définit le gestionnaire d'événement onLoad() afin que l'objet sache
// quoi faire une fois que le fichier sera chargé
cssStyles.onLoad = function(ok:Boolean):Void {
if (ok) {
// Applique la feuille de style au champ de texte
tChamp.StyleSheet = this;
// Insère du texte HTML dans le champ de texte
tChamp.htmlText = "du texte HTML";
}
};
// Charge le document CSS
cssStyles.load("unfichier.css");
Flash supporte à la fois les définitions de style pour les balises ou pour les classes. Les styles suivants sont acceptés par Flash:
Voici un exemple complet. Voici un document CSS simple:
body {
font-family: "_sans";
color: #0000FF;
}
.code {
font-family: "_typewriter";
color: #FF0000;
}
Le code ActionScript suivant charge cette feuille de style CSS dans un document styles.css et l'applique à un champ de texte tChamp.
tChamp.html = true;
var cssStyles:TextField.StyleSheet = new TextField.StyleSheet();
cssStyles.onLoad = function(ok:Boolean):Void {
if (ok) {
tChamp.StyleSheet = this;
tChamp.htmlText = "<body>Pour utiliser CSS dans Flash,
utilisez l'objet <span class="code">StyleSheet</span>.</body>";
}
};
cssStyles.load("styles.css");