| Package | flash.text |
| Classe | public dynamic class StyleSheet |
| Héritage | StyleSheet EventDispatcher Object |
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Pour appliquer des styles à un objet TextField, attribuez l'objet feuille de style à une propriété styleSheet.
Remarque : tout champ de texte associé à une feuille de style n'est pas modifiable. En d'autres termes, un champ de texte dont la propriété type est définie sur TextFieldType.INPUT applique la feuille de style au texte par défaut du champ de texte, qui à partir de ce moment ne peut plus être modifié par l'utilisateur. Préférez la classe TextFormat pour affecter des styles aux champs de saisie.
Flash Player prend en charge un sous-ensemble de propriétés dans le cadre de la spécification CSS1 d'origine (www.w3.org/TR/REC-CSS1). Le tableau suivant présente les propriétés et les valeurs supportées de la feuille de style en cascade (CSS) et les noms de propriétés ActionScript correspondants. (Chaque nom de propriété ActionScript est tiré du nom de propriété CSS correspondant. Si le nom contient un trait d'union, le trait d'union est omis et le caractère suivant est une majuscule.)
| Propriété CSS | Propriété ActionScript | Utilisation et valeurs supportées |
|---|---|---|
color | color | Seules les valeurs hexadécimales de couleur sont supportées. Les couleurs nommées (comme blue) ne sont pas prises en charge. Les couleurs sont écrites au format suivant : #FF0000. |
display | display | Les valeurs supportées sont inline, block et none. |
font-family | fontFamily | Liste des polices à utiliser, séparées par des virgules, classées par ordre de choix décroissant. Tous les noms de familles de polices peuvent être utilisés. Si vous spécifiez un nom de police générique, il est converti dans la police de périphérique appropriée. Les conversions de police suivantes sont disponibles : mono est converti en _typewriter, sans-serif en _sans et serif en _serif. |
font-size | fontSize. | Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
font-style | fontStyle | Les valeurs reconnues sont normal et italic. |
font-weight | fontWeight | Les valeurs reconnues sont normal et bold. |
crénage | crénage | Les valeurs reconnues sont true et false. Le crénage est supporté uniquement pour les polices incorporées. Certaines polices, telles que Courier New, ne supportent pas le crénage. La propriété de crénage n'est supportée que dans les fichiers SWF créés dans Windows, pas dans les fichiers SWF créés sur Macintosh. Cependant, ces fichiers SWF peuvent être lus dans des versions de Flash Player autres que Windows et le crénage s'applique encore. |
leading | leading | La quantité d'espace répartie uniformément entre les lignes. La valeur spécifie le nombre de pixels à ajouter après chaque ligne. Une valeur négative comprime l'espace entre les lignes. Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
letter-spacing | letterSpacing | La quantité d'espace répartie uniformément entre les caractères. La valeur spécifie le nombre de pixels à ajouter après chaque caractère. Une valeur négative comprime l'espace entre les caractères. Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
margin-left | marginLeft | Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
margin-right | marginRight | Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
text-align | textAlign | Les valeurs reconnues sont left, center, right et justify. |
text-decoration | textDecoration | Les valeurs reconnues sont none et underline. |
text-indent | textIndent | Seule la partie numérique de la valeur est utilisée. Les unités (px, pt) ne sont pas analysées. Les pixels et les points sont équivalents. |
Voir aussi
| Propriété | Défini par | ||
|---|---|---|---|
![]() | constructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
| Object | |
![]() | prototype : Object
[static]
Référence à l’objet prototype d’un objet de classe ou fonction.
| Object | |
| styleNames : Array
[lecture-seule]
Tableau qui contient les noms (sous formes de chaînes) de tous les styles enregistrés dans cette feuille de style.
| StyleSheet | ||
| Méthode | Défini par | ||
|---|---|---|---|
|
Crée un objet StyleSheet.
| StyleSheet | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
| EventDispatcher | |
|
Supprime l'ensemble des styles de l'objet feuille de style spécifié.
| StyleSheet | ||
![]() |
Distribue un événement dans le flux d’événements.
| EventDispatcher | |
|
Renvoie une copie de l'objet style associé au style spécifié appelé styleName.
| StyleSheet | ||
![]() |
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d’événement.
| EventDispatcher | |
![]() |
Indique si la propriété spécifiée d'un objet est définie.
| Object | |
![]() |
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
| Object | |
|
Analyse le CSS dans CSSText et charge la feuille de style en même temps.
| StyleSheet | ||
![]() |
Indique si la propriété spécifiée existe et est énumérable.
| Object | |
![]() |
Supprime un écouteur de l’objet EventDispatcher.
| EventDispatcher | |
![]() |
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
| Object | |
|
Ajoute un nouveau style avec le nom spécifié à l'objet feuille de style.
| StyleSheet | ||
![]() |
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
| Object | |
|
Développe la capacité d'analyse du fichier CSS.
| StyleSheet | ||
![]() |
Renvoie la valeur primitive de l'objet spécifié.
| Object | |
![]() |
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
| EventDispatcher | |
| styleNames | propriété |
styleNames:Array [lecture-seule]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Tableau qui contient les noms (sous formes de chaînes) de tous les styles enregistrés dans cette feuille de style.
public function get styleNames():Array
| StyleSheet | () | Constructeur |
public function StyleSheet()
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Crée un objet StyleSheet.
Voir aussi
| clear | () | méthode |
public function clear():void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Supprime l'ensemble des styles de l'objet feuille de style spécifié.
| getStyle | () | méthode |
public function getStyle(styleName:String):Object
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Renvoie une copie de l'objet style associé au style spécifié appelé styleName. Si aucun objet style n'est associé à styleName, null est renvoyé.
Paramètres
styleName:String — Chaîne qui spécifie le nom du style à extraire.
|
Object — Un objet.
|
Voir aussi
getStyle().
| parseCSS | () | méthode |
public function parseCSS(CSSText:String):void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Analyse le CSS dans CSSText et charge la feuille de style en même temps. Si l'un des styles de CSSText existe déjà dans styleSheet, les propriétés de styleSheet sont conservées et seules celles de CSSText sont ajoutées ou modifiées dans styleSheet.
Pour développer la capacité d'analyse CSS d'origine, vous pouvez annuler cette méthode en créant une sous-classe de la classe StyleSheet.
Paramètres
CSSText:String — Le texte CSS à analyser (une chaîne).
|
Dans le constructeur, un champ de texte multiligne est créé et son contenu est défini sur une chaîne au format HTML. (Notez que le titre HTML et les balises Span ne seront pas rendus avant que le style CSS ne soit appliqué.) Un objet URLRequest est créé pour identifier l'emplacement du fichier CSS, qui pour cet exemple est dans le même répertoire que le fichier SWF. Le fichier est chargé avec un objet URLLoader. Deux écouteurs d'événement sont ajoutés pour l'objet URLLoader loader. Si une erreur d'E/S survient, la méthode errorHandler() est invoquée et affiche un message d'erreur dans le champ de texte. Lorsque toutes les données ont été reçues et placées dans la propriété des données de l'objet URLLoader loader, la méthode loaderCompleteHandler() est invoquée et analyse les styles CSS des données chargées à partir du fichier et les utilise pour renseigner l'objet StyleSheet sheet.
Lorsque l'utilisateur clique sur le champ de texte, la méthode clickHandler() est appelée. L'instruction if de la méthode clickHandler() s'assure que le chargement du fichier est terminé avant d'appliquer la feuille de style au champ de texte. Pour que la feuille de style prenne effet, la propriété htmlText doit être réaffectée au contenu après que la feuille de style ait été affectée au champ de texte. Les valeurs des propriétés CSS font-family et color de la balise de titre sont également ajoutées au contenu du champ de texte. (Les valeurs de ces propriétés seront "undefined" si les valeurs de la feuille de style n'ont pas pris effet.)
L'exemple suivant est un contenu de fichier CSS qui peut être utilisé avec cet exemple. Avant d'exécuter cet exemple, créez un fichier texte, copiez dans ce dernier le contenu CSS suivant, puis enregistrez le fichier sous le nom test.css et placez-le dans le même répertoire que le fichier SWF.
p { font-family: Times New Roman, Times, _serif; font-size: 14; font-Style: italic; margin-left: 10; } h1 { font-family: Arial, Helvetica, _sans; font-size: 20; font-weight: bold; } .bluetext { color: #0000CC; }
package {
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.StyleSheet;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.events.IOErrorEvent;
import flash.events.Event;
import flash.events.MouseEvent;
public class StyleSheet_parseCSSExample extends Sprite {
private var loader:URLLoader = new URLLoader();
private var field:TextField = new TextField();
private var exampleText:String = "<h1>This is a headline</h1>"
+ "<p>This is a line of text. <span class='bluetext'>"
+ "This line of text is colored blue.</span></p>";
private var sheet:StyleSheet = new StyleSheet();
private var cssReady:Boolean = false;
public function StyleSheet_parseCSSExample() {
field.x = 10;
field.y = 10;
field.background = true;
field.multiline = true;
field.autoSize = TextFieldAutoSize.LEFT;
field.htmlText = exampleText;
field.addEventListener(MouseEvent.CLICK, clickHandler);
addChild(field);
var req:URLRequest = new URLRequest("test.css");
loader.load(req);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
}
public function errorHandler(e:IOErrorEvent):void {
field.htmlText = "Couldn't load the style sheet file.";
}
public function loaderCompleteHandler(event:Event):void {
sheet.parseCSS(loader.data);
cssReady = true;
}
public function clickHandler(e:MouseEvent):void {
if (cssReady) {
field.styleSheet = sheet;
field.htmlText = exampleText;
var style:Object = sheet.getStyle("h1");
field.htmlText += "<p>Headline font-family is: " + style.fontFamily + "</p>";
field.htmlText += "<p>Headline color is: " + style.color + "</p>";
} else {
field.htmlText = "Couldn't apply the CSS styles.";
}
}
}
}
| setStyle | () | méthode |
public function setStyle(styleName:String, styleObject:Object):void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Ajoute un nouveau style avec le nom spécifié à l'objet feuille de style. Si le style nommé n'existe pas déjà dans la feuille de style, il est ajouté. Si le style nommé n'existe pas déjà dans la feuille de style, il est remplacé. Si le paramètre styleObject est null, le style nommé est supprimé.
Flash Player crée une copie de l'objet style que vous transmettez à cette méthode.
Vous trouverez une liste des styles supportés dans le tableau de description de la classe StyleSheet.
Paramètres
styleName:String — Chaîne qui spécifie le nom du style à ajouter à la feuille de style.
|
|
styleObject:Object — Un objet qui décrit le style, ou null.
|
| transform | () | méthode |
public function transform(formatObject:Object):TextFormat
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Développe la capacité d'analyse du fichier CSS. Les développeurs avancés peuvent annuler cette méthode en développant la classe StyleSheet.
Paramètres
formatObject:Object — Objet qui décrit le style, contenant des règles de style en tant que propriétés de l'objet, ou null.
|
TextFormat — Objet TextFormat contenant le résultat du mappage des règles CSS en propriétés de format de texte.
|
Voir aussi
transform() pour appliquer un style à partir d'un fichier CSS à un objet TextFormat pour un champ de texte.
Les styles CSS sont généralement utilisés pour mettre en forme du contenu HTML. Toutefois, via la méthode transform() d'un objet StyleSheet, des styles CSS peuvent être affectés à un objet TextFormat, puis appliqués à n'importe quel champ de texte.
Les objets URLRequest et URLLoader sont utilisés pour charger le fichier CSS. Un écouteur d'événement est ajouté pour l'événement Event.COMPLETE, qui survient une fois que toutes les données ont été reçues et placées dans la propriété de données de l'objet URLLoader loader. La méthode loaderCompleteHandler() analyse ensuite le CSS à partir des données chargées depuis le fichier et renseigne l'objet StyleSheet sheet avec les styles. La méthode getStyle() de la feuille de style récupère les styles de paragraphe HTML, qui sont ensuite affectés à l'objet TextFormat cssFormat via la méthode transform() de la feuille de style. Enfin, le format de texte par défaut du champ de texte inputField est défini sur le nouveau format de texte cssFormat.
package {
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.StyleSheet;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldType;
import flash.events.IOErrorEvent;
import flash.events.Event;
public class StyleSheet_transformExample extends Sprite {
private var loader:URLLoader = new URLLoader();
private var inputField:TextField = new TextField();
private var sheet:StyleSheet = new StyleSheet();
public function StyleSheet_transformExample() {
inputField.x = 10;
inputField.y = 10;
inputField.background = true;
inputField.width = 300;
inputField.height = 200;
inputField.wordWrap = true;
inputField.multiline = true;
inputField.type = TextFieldType.INPUT;
addChild(inputField);
var req:URLRequest = new URLRequest("test.css");
loader.load(req);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
}
public function errorHandler(e:IOErrorEvent):void {
inputField.htmlText = "Couldn't load the style sheet file.";
}
public function loaderCompleteHandler(event:Event):void {
var cssFormat:TextFormat = new TextFormat();
sheet.parseCSS(loader.data);
var style:Object = sheet.getStyle("p");
cssFormat = sheet.transform(style);
inputField.defaultTextFormat = cssFormat;
}
}
}
package {
import flash.display.Sprite;
import flash.text.StyleSheet;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class StyleSheetExample extends Sprite {
public function StyleSheetExample() {
var style:StyleSheet = new StyleSheet();
var heading:Object = new Object();
heading.fontWeight = "bold";
heading.color = "#FF0000";
var body:Object = new Object();
body.fontStyle = "italic";
style.setStyle(".heading", heading);
style.setStyle("body", body);
var label:TextField = new TextField();
label.styleSheet = style;
label.htmlText = "<body><span class='heading'>Hello </span>World...</body>";
addChild(label);
}
}
}
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/ActionScriptLangRefV3/flash/text/StyleSheet.html