Les interfaces du module StyleSheets en cascade (CSS) du DOM niveau 2 sont conçues pour exposer les constructions CSS aux consommateurs du modèle objet. Les feuilles de styles en cascade forment une syntaxe déclarative permettant de définir les règles de présentation, les propriétés et les constructions auxilliaires qui servent à mettre en forme et à restituer les documents Web. Cette spécification définit un mécanisme qui permet d'accéder et de modifier par programme le style enrichi et les commandes de présentation offerts par CSS (en particulier, par CSS niveau 2 [CSS2]). Ce mécanisme augmente CSS en permettant de contrôler dynamiquement l'inclusion et l'exclusion de feuilles de style individuelles et aussi de manipuler les règles et propriétés CSS.
Les interfaces CSS sont organisées selon une structure logique au lieu physique. On peut accéder
à la collection de toutes les feuilles de style, appelées ou incorporées au document, par l'interface Document.
Chaque élément de cette collection expose les propriétés communes de toutes les feuilles de style appelées ou incorporées
aux documents HTML et XML ; cette interface est décrite dans la section
Le modèle objet de document StyleSheets. Les feuilles de
style de l'utilisateur ne sont pas accessibles au travers de cette collection, en partie à cause des atteintes potentielles
à la vie privée (et certainement des problèmes de lecture-écriture).
Pour chaque feuille de style CSS, une autre interface est exposée : l'interface
CSSStyleSheet. Celle-ci permet d'accéder à la collection des règles
dans une feuille de style CSS et fournit des méthodes pour modifier cette collection. Chaque type particulier de
règle CSS2 dispose d'une interface (par exemple, les déclarations de style,
les règles @import et @font-face), et partage l'interface générique
CSSRule.
Le type de règle le plus courant est celui représenté par la déclaration de style. L'interface
CSSStyleRule de ce type de règle permet d'accéder, au travers d'une chaîne,
au sélecteur CSS de la règle et l'interface CSSStyleDeclaration
aux déclarations de propriété.
Enfin, on décrit l'interface optionnelle CSS2Properties ;
cette interface (si mise en œuvre) offre des raccourcis vers les valeurs de chaîne de toutes les propriétés CSS niveau 2.
Tous les objets CSS dans le DOM sont « vivants », c'est-à-dire qu'un changement dans la feuille de style se répercute dans le style calculé et dans le style effectif.
Les interfaces CSS dans cette section sont fondamentales, et elles doivent être gérées par toutes les mises en œuvre conformes au module CSS. Ces interfaces représentent spécifiquement des feuilles de style CSS.
Une application DOM peut employer la méthode hasFeature(feature, version)
de l'interface DOMImplementation, respectivement avec les valeurs de paramètre "CSS" et "2.0",
pour déterminer si ce module est reconnu ou non par la mise en œuvre. Pour la gestion complète de ce module,
une mise en œuvre doit également gérer la fonctionnalité "Core", définie dans la spécification du DOM niveau 2 Core
[DOM niveau 2 Core], et la fonctionnalité "Views",
définie dans la spécification DOM niveau 2 Views [DOM niveau 2 Views].
Consulter la section à propos de la
conformité →vf
dans la spécification du DOM niveau 2 Core [DOM niveau 2 Core]
pour d'autres renseignements.
L'interface CSSStyleSheet est une interface concrète servant à représenter une feuille de style,
c.à.d., une feuille de style dont le type de contenu est "text/css".
// Introduite dans DOM niveau 2 :
interface CSSStyleSheet : stylesheets::StyleSheet {
readonly attribute CSSRule ownerRule;
readonly attribute CSSRuleList cssRules;
unsigned long insertRule(in DOMString rule,
in unsigned long index)
raises(DOMException);
void deleteRule(in unsigned long index)
raises(DOMException);
};
cssRules de type CSSRuleList,
en lecture seuleownerRule de type CSSRule, en lecture seule@import, l'attribut ownerRule
contiendra un objet CSSImportRule.
Auquel cas, l'attribut ownerNode dans l'objet StyleSheet
aura une valeur null. Si la feuille de style provient d'un élément ou d'une instruction de traitement,
l'attribut ownerRule aura la valeur null et l'attribut ownerNode contiendra le nœud.deleteRuleindex de type unsigned long|
|
INDEX_SIZE_ERR : Soulevée si l'index fourni ne correspond pas à une règle dans la liste de règles de la feuille de style. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette feuille de style est en lecture seule. |
insertRulerule de type DOMStringindex de type unsigned long|
|
L'index de la règle qui vient d'être insérée dans la collection de règles de la feuille de style. |
|
|
HIERARCHY_REQUEST_ERR : Soulevée si la règle ne peut être insérée à l'index fourni, par exemple, si une règle INDEX_SIZE_ERR : Soulevée si l'index fourni n'est pas un point d'insertion valide. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette feuille de style est en lecture seule. SYNTAX_ERR : Soulevée si la syntaxe de la règle indiquée est erronée et non analysable. |
L'interface CSSRuleList fournit l'abstraction d'une collection ordonnée de règles CSS.
Les éléments de l'objet CSSRuleList sont accessibles via un index entier, commençant à "0".
// Introduite dans DOM niveau 2 :
interface CSSRuleList {
readonly attribute unsigned long length;
CSSRule item(in unsigned long index);
};
itemnull.
index de type unsigned long|
La règle de style à la position indiquée par le paramètre |
L'interface CSSRule est l'interface de base abstraite pour tout type de
déclaration CSS →vf.
Ces déclarations comprennent les jeux de règles →vf
et les règles-at →vf.
Une mise en œuvre est censée préserver toutes les règles définies dans une feuille de style CSS,
même si la règle n'est pas reconnue par l'analyseur. On représente les règles non reconnues en se servant de
l'interface CSSUnknownRule.
// Introduite dans DOM niveau 2 :
interface CSSRule {
// RuleType
const unsigned short UNKNOWN_RULE = 0;
const unsigned short STYLE_RULE = 1;
const unsigned short CHARSET_RULE = 2;
const unsigned short IMPORT_RULE = 3;
const unsigned short MEDIA_RULE = 4;
const unsigned short FONT_FACE_RULE = 5;
const unsigned short PAGE_RULE = 6;
readonly attribute unsigned short type;
attribute DOMString cssText;
// soulève une exception DOMException à l'initialisation
readonly attribute CSSStyleSheet parentStyleSheet;
readonly attribute CSSRule parentRule;
};
Un entier indiquant de quel type de règle il s'agit.
CHARSET_RULECSSCharsetRule.FONT_FACE_RULECSSFontFaceRule.IMPORT_RULECSSImportRule.MEDIA_RULECSSMediaRule.PAGE_RULECSSPageRule.STYLE_RULECSSStyleRule.UNKNOWN_RULECSSUnknownRule.cssText de type DOMString|
|
SYNTAX_ERR : Soulevée si la valeur de chaîne CSS fournie a une syntaxe erronée et n'est pas analysable. INVALID_MODIFICATION_ERR : Soulevée si la valeur de chaîne CSS fournie correspond à un type de règle différent du type courant. HIERARCHY_REQUEST_ERR : Soulevée si la règle ne peut être insérée à cette position dans la feuille de style. NO_MODIFICATION_ALLOWED_ERR : Soulevée si la règle est en lecture seule. |
parentRule de type CSSRule, en lecture seulenull.parentStyleSheet de type CSSStyleSheet,
en lecture seuletype de type unsigned short, en lecture seuletype de l'interface CSSRule.L'interface CSSStyleRule représente un seul
jeu de règles →vf
dans une feuille de style CSS.
// Introduite dans DOM niveau 2 :
interface CSSStyleRule : CSSRule {
attribute DOMString selectorText;
// soulève une exception DOMException à l'initialisation
readonly attribute CSSStyleDeclaration style;
};
selectorText de type DOMString|
|
SYNTAX_ERR : Soulevée si la valeur de chaîne CSS fournie a une syntaxe erronée et n'est pas analysable. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette règle est en lecture seule. |
style de type CSSStyleDeclaration,
en lecture seuleL'interface CSSMediaRule représente une
règle @media →vf
dans une feuille de style CSS. Une règle @media peut servir à délimiter les règles de style
de types de média particuliers.
// Introduite dans DOM niveau 2 :
interface CSSMediaRule : CSSRule {
readonly attribute stylesheets::MediaList media;
readonly attribute CSSRuleList cssRules;
unsigned long insertRule(in DOMString rule,
in unsigned long index)
raises(DOMException);
void deleteRule(in unsigned long index)
raises(DOMException);
};
cssRules de type CSSRuleList,
en lecture seulemedia de type stylesheets::MediaList, en lecture seuledeleteRuleindex de type unsigned long|
|
INDEX_SIZE_ERR : Soulevée si l'index fourni ne correspond à une règle dans la liste de règles de l'attribut media. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette règle dans l'attribut media est en lecture seule. |
insertRulerule de type DOMStringindex de type unsigned long|
|
L'index de la règle qui vient d'être insérée dans la collection de règles du bloc de média. |
|
|
HIERARCHY_REQUEST_ERR : Soulevée si la règle ne peut être insérée à l'index fourni, par exemple, si une règle INDEX_SIZE_ERR : Soulevée si l'index fourni n'est pas un point d'insertion valide. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette règle media est en lecture seule. SYNTAX_ERR : Soulevée si la règle indiquée a une syntaxe erronée et n'est pas analysable. |
L'interface CSSFontFaceRule représente une
règle @font-face →vf
dans une feuille de style CSS. La règle @font-face sert à contenir un jeu de descriptions de police.
// Introduite dans DOM niveau 2 :
interface CSSFontFaceRule : CSSRule {
readonly attribute CSSStyleDeclaration style;
};
style de type CSSStyleDeclaration,
en lecture seuleL'interface CSSPageRule représente une
règle @page →vf
dans une feuille de style CSS. La règle @page sert à définir les dimensions, l'orientation, les marges, etc.
de la boîte de page d'un média paginé.
// Introduite dans DOM niveau 2 :
interface CSSPageRule : CSSRule {
attribute DOMString selectorText;
// soulève une exception DOMException à l'initialisation
readonly attribute CSSStyleDeclaration style;
};
selectorText de type DOMString|
|
SYNTAX_ERR : Soulevée si la valeur de chaîne CSS fournie a une syntaxe erronée et n'est pas analysable. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette règle est en lecture seule. |
style de type CSSStyleDeclaration,
en lecture seuleL'interface CSSImportRule représente une
règle @import →vf
dans une feuille de style CSS. La règle @import sert à importer des règles de style d'autres feuilles de style.
// Introduite dans DOM niveau 2 :
interface CSSImportRule : CSSRule {
readonly attribute DOMString href;
readonly attribute stylesheets::MediaList media;
readonly attribute CSSStyleSheet styleSheet;
};
href de type DOMString, en lecture seule"url(...)" qui englobe l'adresse URI.media de type stylesheets::MediaList, en lecture seulestyleSheet de type CSSStyleSheet,
en lecture seulenull
si la feuille de style n'est pas encore chargée ou ne le sera pas (par exemple,
si elle concerne un type de média non reconnu par l'agent utilisateur).L'interface CSSCharsetRule représente une
règle @charset →vf
dans une feuille de style CSS. La valeur de l'attribut encoding n'affecte pas le codage des données textuelles
des objets DOM : ce codage est toujours UTF-16. Après le chargement d'une feuille de style,
la valeur de l'attribut encoding est celle trouvée dans la règle @charset. S'il n'y a pas de règle @charset
dans le document original, alors aucun objet CSSCharsetRule n'est créé. La valeur de l'attribut
encoding peut aussi servir d'indication du codage utilisé pour la sérialisation de la feuille de style.
La valeur de la
règle @charset →vf
(et donc de l'objet CSSCharsetRule) ne correspond pas forcément au codage d'entrée effectif du document ;
les informations de codage des caractères, par exemple, dans une en-tête HTTP, priment
(cf. la représentation du document CSS →vf)
mais cela n'apparaît pas dans l'objet CSSCharsetRule.
// Introduite dans DOM niveau 2 :
interface CSSCharsetRule : CSSRule {
attribute DOMString encoding;
// soulève une exception DOMException à l'initialisation
};
encoding de type DOMString@charset.|
|
SYNTAX_ERR : Soulevée si la valeur de codage fournie a une syntaxe erronée et n'est pas analysable. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette règle de codage est en lecture seule. |
L'interface CSSUnknownRule représente une règle-at non reconnue par l'agent utilisateur.
// Introduite dans DOM niveau 2 :
interface CSSUnknownRule : CSSRule {
};
L'interface CSSStyleDeclaration représente un seul
bloc de déclaration CSS →vf.
On peut utiliser cette interface pour déterminer les valeurs des propriétés de style fixées dans un bloc de déclaration
ou pour fixer explicitement des propriétés de style dans le bloc.
Bien qu'une mise en œuvre ne reconnaisse peut-être pas toutes les propriétés CSS dans une déclaration de bloc CSS,
elle doit permettre d'accéder à toutes les propriétés définies au travers de l'interface CSSStyleDeclaration.
En outre, les mises en œuvres, qui reconnaissent un niveau CSS particulier, devraient reconnaître les
propriétés raccourcies CSS →vf
de ce niveau. Pour une explication approfondie des propriétés raccourcies, voir l'interface CSS2Properties.
On utilise également cette interface pour accéder en lecture seule aux
valeurs calculées →vf
d'un élément. Voir également l'interface ViewCSS.
Remarque : Le modèle objet de CSS ne permet pas d'accéder aux valeurs spécifiées ou réelles →vf de la cascade CSS.
// Introduite dans DOM niveau 2 :
interface CSSStyleDeclaration {
attribute DOMString cssText;
// soulève une exception DOMException à l'initialisation
DOMString getPropertyValue(in DOMString propertyName);
CSSValue getPropertyCSSValue(in DOMString propertyName);
DOMString removeProperty(in DOMString propertyName)
raises(DOMException);
DOMString getPropertyPriority(in DOMString propertyName);
void setProperty(in DOMString propertyName,
in DOMString value,
in DOMString priority)
raises(DOMException);
readonly attribute unsigned long length;
DOMString item(in unsigned long index);
readonly attribute CSSRule parentRule;
};
cssText de type DOMString|
|
SYNTAX_ERR : Soulevée si la valeur de chaîne CSS fournie a une syntaxe erronée et n'est pas analysable. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette déclaration on une propriété sont en lecture seule. |
length de type unsigned long, en lecture seuleparentRule de type CSSRule,
en lecture seulenull si cet objet
CSSStyleDeclaration n'est pas lié à un objet CSSRule.getPropertyCSSValuenull s'il s'agit d'une
propriété raccourcie →vf.
On peut seulement accéder aux valeurs des propriétés raccourcies et les modifier littéralement avec les
getPropertyValue et setProperty.
propertyName de type DOMString|
Retourne la valeur de la propriété si elle a été fixée explicitement pour ce bloc de déclaration.
Retourne la valeur |
getPropertyPriority"important") si la propriété est fixée explicitement
dans ce bloc de déclaration.
propertyName de type DOMString|
|
|
getPropertyValuepropertyName de type DOMString|
|
Retourne la valeur de la propriété si elle a été fixée explicitement pour ce bloc de déclaration. Retourne la chaîne vide si ce n'est pas le cas. |
itemindex de type unsigned long|
|
Le nom de la propriété à cette position ordinale. La chaîne vide si aucune propriété n'existe à cette position. |
removePropertypropertyName de type DOMString|
|
Retourne la valeur de la propriété si elle a été fixée explicitement pour ce bloc de déclaration. Retourne la chaîne vide si ce n'est pas le cas ou si son nom ne correspond pas à une propriété CSS connue. |
|
|
NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette déclaration ou cette propriété sont en lecture seule. |
setPropertyRemarque : La méthode setProperty permet de modifier une propriété
ou d'en ajouter une nouvelle dans le bloc de déclaration. Tout appel à cette méthode peut changer l'ordre des propriétés
dans la méthode item.
propertyName de type DOMStringvalue de type DOMStringpriority de type DOMString"important")
ou la chaîne vide s'il n'y en a pas.
|
|
SYNTAX_ERR : Soulevée si la valeur fournie a une syntaxe erronée et n'est pas analysable. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette déclaration ou cette propriété sont en lecture seule. |
L'interface CSSValue représente une valeur simple ou complexe. Un objet CSSValue n'apparaît que
dans le contexte d'une propriété CSS.
// Introduite dans DOM niveau 2 :
interface CSSValue {
// UnitTypes
const unsigned short CSS_INHERIT = 0;
const unsigned short CSS_PRIMITIVE_VALUE = 1;
const unsigned short CSS_VALUE_LIST = 2;
const unsigned short CSS_CUSTOM = 3;
attribute DOMString cssText;
// soulève une exception DOMException à l'initialisation
readonly attribute unsigned short cssValueType;
};
Un entier indiquant quel type d'unité s'applique à la valeur.
CSS_CUSTOMCSS_INHERITcssText contient la valeur "inherit".CSS_PRIMITIVE_VALUECSSPrimitiveValue en utilisant les méthodes prépondérantes spécifiques
de la liaison sur cette instance de l'interface CSSValue.CSS_VALUE_LISTCSSValue et on doit pouvoir obtenir une instance de l'interface
CSSValueList en utilisant les méthodes prépondérantes spécifiques de
la liaison sur cette instance de l'interface CSSValue.cssText de type DOMString|
|
SYNTAX_ERR : Soulevée si la chaîne CSS fournie a une syntaxe erronée (selon la propriété qui y est liée) ou n'est pas analysable. INVALID_MODIFICATION_ERR : Soulevée si la valeur chaîne CSS fournie représente un type de valeur différent de ceux admis pour la propriété CSS. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette valeur est en lecture seule. |
cssValueType de type unsigned short, en lecture seuleL'interface CSSPrimitiveValue représente une seule
valeur CSS →vf. On peut utiliser cette
interface pour déterminer la valeur courante d'une propriété de style donnée ou en fixer explicitement la valeur
dans le bloc de déclaration. On peut obtenir une instance de cette interface à partir de la méthode getPropertyCSSValue
de l'interface CSSStyleDeclaration. Un objet CSSPrimitiveValue
ne peut apparaître que dans le contexte d'une propriété CSS.
Les conversions sont permises entre valeurs absolues (de millimètres à centimètres, de degrés à radians, et ainsi de suite)
mais pas entre valeurs relatives. (Par exemple, on ne peut pas convertir une valeur en pixels vers des centimètres).
On ne peut pas convertir les valeurs en pourcentage puisqu'elles sont relatives à la valeur du parent (ou à la valeur d'une autre propriété).
Les valeurs de couleur constituent une exception : comme une valeur de couleur en pourcentage est relative à l'intervalle de valeurs
0-255, on peut la convertir en un nombre (voir également l'interface RGBColor).
// Introduite dans DOM niveau 2 :
interface CSSPrimitiveValue : CSSValue {
// Types d'unité
const unsigned short CSS_UNKNOWN = 0;
const unsigned short CSS_NUMBER = 1;
const unsigned short CSS_PERCENTAGE = 2;
const unsigned short CSS_EMS = 3;
const unsigned short CSS_EXS = 4;
const unsigned short CSS_PX = 5;
const unsigned short CSS_CM = 6;
const unsigned short CSS_MM = 7;
const unsigned short CSS_IN = 8;
const unsigned short CSS_PT = 9;
const unsigned short CSS_PC = 10;
const unsigned short CSS_DEG = 11;
const unsigned short CSS_RAD = 12;
const unsigned short CSS_GRAD = 13;
const unsigned short CSS_MS = 14;
const unsigned short CSS_S = 15;
const unsigned short CSS_HZ = 16;
const unsigned short CSS_KHZ = 17;
const unsigned short CSS_DIMENSION = 18;
const unsigned short CSS_STRING = 19;
const unsigned short CSS_URI = 20;
const unsigned short CSS_IDENT = 21;
const unsigned short CSS_ATTR = 22;
const unsigned short CSS_COUNTER = 23;
const unsigned short CSS_RECT = 24;
const unsigned short CSS_RGBCOLOR = 25;
readonly attribute unsigned short primitiveType;
void setFloatValue(in unsigned short unitType,
in float floatValue)
raises(DOMException);
float getFloatValue(in unsigned short unitType)
raises(DOMException);
void setStringValue(in unsigned short stringType,
in DOMString stringValue)
raises(DOMException);
DOMString getStringValue()
raises(DOMException);
Counter getCounterValue()
raises(DOMException);
Rect getRectValue()
raises(DOMException);
RGBColor getRGBColorValue()
raises(DOMException);
};
Un entier indiquant quel type d'unité s'applique à la valeur.
CSS_ATTRgetStringValue.CSS_CMgetFloatValue.CSS_COUNTERgetCounterValue.CSS_DEGgetFloatValue.CSS_DIMENSIONgetFloatValue.CSS_EMSgetFloatValue.CSS_EXSgetFloatValue.CSS_GRADgetFloatValue.CSS_HZgetFloatValue.CSS_IDENTgetStringValue.CSS_INgetFloatValue.CSS_KHZgetFloatValue.CSS_MMgetFloatValue.CSS_MSgetFloatValue.CSS_NUMBERgetFloatValue.CSS_PCgetFloatValue.CSS_PERCENTAGEgetFloatValue.CSS_PTgetFloatValue.CSS_PXgetFloatValue.CSS_RADgetFloatValue.CSS_RECTgetRectValue.CSS_RGBCOLORgetRGBColorValue.CSS_SgetFloatValue.CSS_STRINGgetStringValue.CSS_UNKNOWNcssText.CSS_URIgetStringValue.primitiveType de type unsigned short, en lecture seulegetCounterValueCounter.
Si cette valeur CSS ne contient pas de valeur compteur, une exception DOMException est soulevée.
On peut modifier la propriété de style correspondante en utilisant l'interface Counter.
|
La valeur de type |
|
|
INVALID_ACCESS_ERR : Soulevée si la valeur CSS ne contient pas de valeur compteur (par exemple,
sa constante de type n'est pas |
getFloatValueDOMException est soulevée.
unitType de type unsigned shortCSS_NUMBER, CSS_PERCENTAGE, CSS_EMS,
CSS_EXS, CSS_PX, CSS_CM, CSS_MM, CSS_IN, CSS_PT,
CSS_PC, CSS_DEG, CSS_RAD, CSS_GRAD, CSS_MS, CSS_S,
CSS_HZ, CSS_KHZ ou CSS_DIMENSION).|
|
La valeur flottante dans l'unité indiquée. |
|
|
INVALID_ACCESS_ERR : Soulevée si la valeur CSS ne contient pas de valeur flottante ou si la valeur flottante n'est pas convertible dans l'unité indiquée. |
getRGBColorValueDOMException
est soulevée. On peut modifier la propriété de style correspondante en utilisant l'interface RGBColor.
|
La valeur de couleur RGB. |
|
|
INVALID_ACCESS_ERR : Soulevée si la propriété liée ne peut pas retourner de valeur de couleur RGB (par exemple,
sa constante de type n'est pas |
getRectValueRect. Si cette valeur CSS ne contient pas de valeur
de type rect, une exception DOMException est soulevée. On peut modifier la propriété de style correspondante
en utilisant l'interface Rect.
|
La valeur |
|
|
INVALID_ACCESS_ERR : Soulevée si la valeur CSS ne contient pas de valeur |
getStringValueDOMException est soulevée.
Remarque : Certaines propriétés (comme 'font-family' →vf ou 'voice-family' →vf) convertissent une liste d'identificateurs, séparés par des blancs, en une chaîne.
|
|
La valeur chaîne dans l'unité courante. L'attribut |
|
|
INVALID_ACCESS_ERR : Soulevée si la valeur CSS ne contient pas une valeur chaîne. |
setFloatValueDOMException sera soulevée.
unitType de type unsigned shortCSS_NUMBER, CSS_PERCENTAGE, CSS_EMS, CSS_EXS,
CSS_PX, CSS_CM, CSS_MM, CSS_IN, CSS_PT, CSS_PC,
CSS_DEG, CSS_RAD, CSS_GRAD, CSS_MS, CSS_S,
CSS_HZ, CSS_KHZ ou CSS_DIMENSION).floatValue de type float|
|
INVALID_ACCESS_ERR : Soulevée si la propriété liée ne reconnaît pas la valeur flottante ou le type d'unité. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette propriété est en lecture seule. |
setStringValueDOMException sera soulevée.
stringType de type unsigned shortCSS_STRING, CSS_URI, CSS_IDENT ou CSS_ATTR).stringValue de type DOMString|
|
INVALID_ACCESS_ERR : Soulevée si la valeur CSS ne contient pas de valeur chaîne ou si la valeur chaîne n'est pas convertible dans l'unité indiquée. NO_MODIFICATION_ALLOWED_ERR : Soulevée si cette propriété est en lecture seule. |
L'interface CSSValueList fournit l'abstraction d'une collection ordonnée de valeurs CSS.
La syntaxe de certaines propriétés admet une liste vide. Auquel cas, ces propriétés prennent l'identificateur none.
Une liste vide signifie donc que la valeur de la propriété est none.
Les éléments dans l'objet CSSValueList sont accessibles via un index entier, commençant à "0".
// Introduite dans DOM niveau 2 :
interface CSSValueList : CSSValue {
readonly attribute unsigned long length;
CSSValue item(in unsigned long index);
};
itemCSSValue par son index ordinal.
L'ordre de cette collection correspond à celui des valeurs dans la propriété de style CSS.
Si l'index est supérieur ou égal au nombre de valeurs de la liste, retourne la valeur null.
index de type unsigned longL'interface RGBColor sert à représenter une valeur de
couleur RGB →vf.
Cette interface reflète les valeurs de la propriété de style sous-jacente. La modification d'un
objet CSSPrimitiveValue est donc répercutée sur la propriété de style.
Une couleur RGB spécifiée n'est pas rognée (même si sa valeur se trouve hors de l'intervalle 0-255, ou 0-100%. Une valeur de couleur RGB calculée est rognée selon l'appareil.
Bien qu'une feuille de style ne contienne que des entiers comme valeur des couleurs, ces entiers sont stockés en interne comme des valeurs flottantes et on peut les utiliser en valeurs flottantes dans le style spécifié ou calculé.
On peut toujours convertir une valeur de couleur en pourcentage en un nombre, et vice versa.
// Introduite dans DOM niveau 2 :
interface RGBColor {
readonly attribute CSSPrimitiveValue red;
readonly attribute CSSPrimitiveValue green;
readonly attribute CSSPrimitiveValue blue;
};
blue de type CSSPrimitiveValue,
en lecture seulegreen de type CSSPrimitiveValue,
en lecture seulered de type CSSPrimitiveValue,
en lecture seuleL'interface Rect sert à représenter une valeur
rect →vf.
Cette interface reflète les valeurs de la propriété de style sous-jacente. La modification d'un objet
CSSPrimitiveValue est donc répercutée sur la propriété de style.
// Introduite dans DOM niveau 2 :
interface Rect {
readonly attribute CSSPrimitiveValue top;
readonly attribute CSSPrimitiveValue right;
readonly attribute CSSPrimitiveValue bottom;
readonly attribute CSSPrimitiveValue left;
};
bottom de type CSSPrimitiveValue,
en lecture seuleleft de type CSSPrimitiveValue,
en lecture seuleright de type CSSPrimitiveValue,
en lecture seuletop de type CSSPrimitiveValue,
en lecture seuleL'interface Counter sert à représenter une valeur de la
fonction counter (ou counters) →vf.
Cette interface reflète les valeurs de la propriété de style sous-jacente.
// Introduite dans DOM niveau 2 :
interface Counter {
readonly attribute DOMString identifier;
readonly attribute DOMString listStyle;
readonly attribute DOMString separator;
};
identifier de type DOMString, en lecture seulelistStyle de type DOMString, en lecture seuleseparator de type DOMString, en lecture seuleCette interface représente une vue CSS. La méthode getComputedStyle permet d'accéder, en lecture seule,
aux valeurs calculées →vf
d'un élément.
On doit pouvoir obtenir une instance de l'interface ViewCSS en utilisant les méthodes prépondérantes spécifiques
de la liaison sur une instance de l'interface AbstractView.
Puisqu'un style calculé est lié à un nœud Element, si cet élément est retiré du document, alors les objets
CSSStyleDeclaration
et CSSValue associés, relatifs à cette déclaration, ne sont plus valides.
// Introduite dans DOM niveau 2 :
interface ViewCSS : views::AbstractView {
CSSStyleDeclaration getComputedStyle(in Element elt,
in DOMString pseudoElt);
};
getComputedStyleelt de type ElementpseudoElt de type DOMStringnull s'il n'y en a pas.|
Le style calculé. L'objet |
Cette interface représente un document avec une vue CSS.
La méthode getOverrideStyle fournit un mécanisme grâce auquel un auteur DOM peut réaliser
un changement immédiat du style d'un élément, sans modifier les feuilles de style liées explicitement au document
ou le style en-ligne des éléments dans les feuilles de style. Cette feuille de style, qui intervient après la feuille de style de l'auteur
dans l'algorithme de cascade, est appelée feuille de style de forçage.
La feuille de style de forçage prime sur celles de l'auteur. Une déclaration "!important" reste toujours prioritaire
sur une déclaration normale. Les feuilles de style de forçage, celles de l'auteur et celles de l'utilisateur peuvent toutes contenir
des déclarations "!important". Les règles "!important" de l'utilisateur priment sur celles des feuilles de style de forçage et de l'auteur,
les règles "!important" de la feuille de style de forçage priment à leur tour sur celles des feuilles de style de l'auteur.
On doit pouvoir obtenir une instance de l'interface DocumentCSS en utilisant les méthodes prépondérantes spécifiques
de la liaison sur une instance de l'interface Document.
// Introduite dans DOM niveau 2 :
interface DocumentCSS : stylesheets::DocumentStyle {
CSSStyleDeclaration getOverrideStyle(in Element elt,
in DOMString pseudoElt);
};
getOverrideStyleelt de type ElementpseudoElt de type DOMStringnull s'il n'y en a pas.|
La déclaration de style de forçage. |
Cette interface permet à l'utilisateur DOM de créer un objet
CSSStyleSheet hors du contexte d'un document. Il n'existe aucun moyen
d'associer le nouvel objet CSSStyleSheet à un
document dans DOM niveau 2.
// Introduced in DOM Level 2:
interface DOMImplementationCSS : DOMImplementation {
CSSStyleSheet createCSSStyleSheet(in DOMString title,
in DOMString media)
raises(DOMException);
};
createCSSStyleSheetCSSStyleSheet.
title de type DOMStringmedia de type DOMString|
Une nouvelle feuille de style CSS. |
|
|
SYNTAX_ERR : Soulevée si la valeur chaîne du média indiqué a une syntaxe erronée et n'est pas analysable. |
Les informations de style en-ligne, liées aux éléments, sont exposées au travers de l'attribut style.
Il représente le contenu de l'attribut
STYLE →vf
pour les éléments HTML (ou ceux d'autres schémas ou DTD utilisant l'attribut STYLE de la même façon).
On doit pouvoir obtenir une instance de l'interface ElementCSSInlineStyle en utilisant les méthodes prépondérantes spécifiques
de la liaison sur une instance de l'interface Element lorsque l'élément en question reconnaît
les informations de style CSS en-ligne.
// Introduite dans DOM niveau 2 :
interface ElementCSSInlineStyle {
readonly attribute CSSStyleDeclaration style;
};
style de type CSSStyleDeclaration,
en lecture seuleL'interface décrite dans cette section n'est pas obligatoire. Une application DOM peut employer la méthode
hasFeature(feature, version) de l'interface DOMImplementation,
respectivement avec les valeurs de paramètre "CSS2" et "2.0", pour déterminer si ce module est reconnu ou non par la mise en œuvre.
Pour la gestion complète de ce module, une mise en œuvre doit également gérer la fonctionnalité "CSS" définie dans la section
Les interfaces fondamentales. Consulter la section à propos de la
conformité →vf
dans la spécification du DOM niveau 2 Core [DOM niveau 2 Core]
pour d'autres informations.
L'interface CSS2Properties représente un mécanisme pratique pour récupérer et fixer les valeurs des propriétés
dans un objet CSSStyleDeclaration.
Les attributs de cette interface correspondent à toutes les
propriétés définies dans CSS2 →vf.
Récupérer la valeur d'un attribut de cette interface équivaut à appeler la méthode getPropertyValue
de l'interface CSSStyleDeclaration. Fixer la valeur
d'un attribut de cette interface équivaut à appeler la méthode setProperty de l'inteface
CSSStyleDeclaration.
Une mise en œuvre conforme au module CSS n'est pas tenue de reconnaître l'interface CSS2Properties.
Si la mise en œuvre reconnaît cette interface, on doit pouvoir utiliser les méthodes prépondérantes spécifiques du langage
pour un transtypage d'une instance de l'interface CSSStyleDeclaration
vers l'interface CSS2Properties.
Si la mise en œuvre reconnaît cette interface, elle doit pouvoir comprendre la syntaxe des propriétés raccourcies
et appliquer leur sémantique ; par exemple, si la propriété margin est fixée, les propriétés marginTop,
marginRight, marginBottom et marginLeft seront effectivement déterminées par
la mise en œuvre sous-jacente.
Lorsqu'on utilise des propriétés CSS « raccourcies », on devrait les détailler dans leurs propriétés écrites composantes si nécessaire, et lorsqu'on demande leurs valeurs, le format retourné devrait être celui le plus court correspondant exactement aux déclarations du jeu de règles. Par contre, si on ne peut pas ajouter de déclaration raccourcie au jeu de règles sans changer, d'une manière quelconque, les règles déjà présentes (c'est-à-dire, en ajoutant les règles écrites non déclarées auparavant), alors la chaîne vide devrait être retournée pour la propriété raccourcie.
Par exemple, une interrogation sur la propriété font ne devrait pas retourner
"normal normal normal 14pt/normal Arial, sans-serif" si "14pt Arial, sans-serif" suffit.
(Les valeurs normal correspondent aux valeurs initiales implicites des propriétés écrites).
Si toutes les valeurs des propriétés écrites d'une chaîne particulière correspondent à leurs valeurs initiales,
alors une chaîne composée de toutes les valeurs initiales devrait être retournée (par exemple, une valeur "medium"
pour la propriété border-width devrait être retournée telle quelle, et non par "").
Pour certaines propriétés raccourcies qui déterminent les valeurs manquantes d'après les autres côtés,
comme les propriétés margin, padding et border-[width|style|color],
on devrait utiliser le plus petit nombre de côtés possible (c'est-à-dire qu'on retournera la valeur "0px 10px"
plutôt que "0px 10px 0px 10px".
Si on ne peut pas détailler la valeur d'une propriété raccourcie par ses propriétés écrites composantes,
comme c'est le cas pour la propriété font avec une valeur de "menu", une demande des valeurs
des propriétés écrites composantes devrait retourner la chaîne vide.
// Introduite dans DOM niveau 2 :
interface CSS2Properties {
attribute DOMString azimuth;
// soulève une exception DOMException à l'initialisation
attribute DOMString background;
// soulève une exception DOMException à l'initialisation
attribute DOMString backgroundAttachment;
// soulève une exception DOMException à l'initialisation
attribute DOMString backgroundColor;
// soulève une exception DOMException à l'initialisation
attribute DOMString backgroundImage;
// soulève une exception DOMException à l'initialisation
attribute DOMString backgroundPosition;
// soulève une exception DOMException à l'initialisation
attribute DOMString backgroundRepeat;
// soulève une exception DOMException à l'initialisation
attribute DOMString border;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderCollapse;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderColor;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderSpacing;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderStyle;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderTop;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderRight;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderBottom;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderLeft;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderTopColor;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderRightColor;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderBottomColor;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderLeftColor;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderTopStyle;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderRightStyle;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderBottomStyle;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderLeftStyle;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderTopWidth;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderRightWidth;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderBottomWidth;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderLeftWidth;
// soulève une exception DOMException à l'initialisation
attribute DOMString borderWidth;
// soulève une exception DOMException à l'initialisation
attribute DOMString bottom;
// soulève une exception DOMException à l'initialisation
attribute DOMString captionSide;
// soulève une exception DOMException à l'initialisation
attribute DOMString clear;
// soulève une exception DOMException à l'initialisation
attribute DOMString clip;
// soulève une exception DOMException à l'initialisation
attribute DOMString color;
// soulève une exception DOMException à l'initialisation
attribute DOMString content;
// soulève une exception DOMException à l'initialisation
attribute DOMString counterIncrement;
// soulève une exception DOMException à l'initialisation
attribute DOMString counterReset;
// soulève une exception DOMException à l'initialisation
attribute DOMString cue;
// soulève une exception DOMException à l'initialisation
attribute DOMString cueAfter;
// soulève une exception DOMException à l'initialisation
attribute DOMString cueBefore;
// soulève une exception DOMException à l'initialisation
attribute DOMString cursor;
// soulève une exception DOMException à l'initialisation
attribute DOMString direction;
// soulève une exception DOMException à l'initialisation
attribute DOMString display;
// soulève une exception DOMException à l'initialisation
attribute DOMString elevation;
// soulève une exception DOMException à l'initialisation
attribute DOMString emptyCells;
// soulève une exception DOMException à l'initialisation
attribute DOMString cssFloat;
// soulève une exception DOMException à l'initialisation
attribute DOMString font;
// soulève une exception DOMException à l'initialisation
attribute DOMString fontFamily;
// soulève une exception DOMException à l'initialisation
attribute DOMString fontSize;
// soulève une exception DOMException à l'initialisation
attribute DOMString fontSizeAdjust;
// soulève une exception DOMException à l'initialisation
attribute DOMString fontStretch;
// soulève une exception DOMException à l'initialisation
attribute DOMString fontStyle;
// soulève une exception DOMException à l'initialisation
attribute DOMString fontVariant;
// soulève une exception DOMException à l'initialisation
attribute DOMString fontWeight;
// soulève une exception DOMException à l'initialisation
attribute DOMString height;
// soulève une exception DOMException à l'initialisation
attribute DOMString left;
// soulève une exception DOMException à l'initialisation
attribute DOMString letterSpacing;
// soulève une exception DOMException à l'initialisation
attribute DOMString lineHeight;
// soulève une exception DOMException à l'initialisation
attribute DOMString listStyle;
// soulève une exception DOMException à l'initialisation
attribute DOMString listStyleImage;
// soulève une exception DOMException à l'initialisation
attribute DOMString listStylePosition;
// soulève une exception DOMException à l'initialisation
attribute DOMString listStyleType;
// soulève une exception DOMException à l'initialisation
attribute DOMString margin;
// soulève une exception DOMException à l'initialisation
attribute DOMString marginTop;
// soulève une exception DOMException à l'initialisation
attribute DOMString marginRight;
// soulève une exception DOMException à l'initialisation
attribute DOMString marginBottom;
// soulève une exception DOMException à l'initialisation
attribute DOMString marginLeft;
// soulève une exception DOMException à l'initialisation
attribute DOMString markerOffset;
// soulève une exception DOMException à l'initialisation
attribute DOMString marks;
// soulève une exception DOMException à l'initialisation
attribute DOMString maxHeight;
// soulève une exception DOMException à l'initialisation
attribute DOMString maxWidth;
// soulève une exception DOMException à l'initialisation
attribute DOMString minHeight;
// soulève une exception DOMException à l'initialisation
attribute DOMString minWidth;
// soulève une exception DOMException à l'initialisation
attribute DOMString orphans;
// soulève une exception DOMException à l'initialisation
attribute DOMString outline;
// soulève une exception DOMException à l'initialisation
attribute DOMString outlineColor;
// soulève une exception DOMException à l'initialisation
attribute DOMString outlineStyle;
// soulève une exception DOMException à l'initialisation
attribute DOMString outlineWidth;
// soulève une exception DOMException à l'initialisation
attribute DOMString overflow;
// soulève une exception DOMException à l'initialisation
attribute DOMString padding;
// soulève une exception DOMException à l'initialisation
attribute DOMString paddingTop;
// soulève une exception DOMException à l'initialisation
attribute DOMString paddingRight;
// soulève une exception DOMException à l'initialisation
attribute DOMString paddingBottom;
// soulève une exception DOMException à l'initialisation
attribute DOMString paddingLeft;
// soulève une exception DOMException à l'initialisation
attribute DOMString page;
// soulève une exception DOMException à l'initialisation
attribute DOMString pageBreakAfter;
// soulève une exception DOMException à l'initialisation
attribute DOMString pageBreakBefore;
// soulève une exception DOMException à l'initialisation
attribute DOMString pageBreakInside;
// soulève une exception DOMException à l'initialisation
attribute DOMString pause;
// soulève une exception DOMException à l'initialisation
attribute DOMString pauseAfter;
// soulève une exception DOMException à l'initialisation
attribute DOMString pauseBefore;
// soulève une exception DOMException à l'initialisation
attribute DOMString pitch;
// soulève une exception DOMException à l'initialisation
attribute DOMString pitchRange;
// soulève une exception DOMException à l'initialisation
attribute DOMString playDuring;
// soulève une exception DOMException à l'initialisation
attribute DOMString position;
// soulève une exception DOMException à l'initialisation
attribute DOMString quotes;
// soulève une exception DOMException à l'initialisation
attribute DOMString richness;
// soulève une exception DOMException à l'initialisation
attribute DOMString right;
// soulève une exception DOMException à l'initialisation
attribute DOMString size;
// soulève une exception DOMException à l'initialisation
attribute DOMString speak;
// soulève une exception DOMException à l'initialisation
attribute DOMString speakHeader;
// soulève une exception DOMException à l'initialisation
attribute DOMString speakNumeral;
// soulève une exception DOMException à l'initialisation
attribute DOMString speakPunctuation;
// soulève une exception DOMException à l'initialisation
attribute DOMString speechRate;
// soulève une exception DOMException à l'initialisation
attribute DOMString stress;
// soulève une exception DOMException à l'initialisation
attribute DOMString tableLayout;
// soulève une exception DOMException à l'initialisation
attribute DOMString textAlign;
// soulève une exception DOMException à l'initialisation
attribute DOMString textDecoration;
// soulève une exception DOMException à l'initialisation
attribute DOMString textIndent;
// soulève une exception DOMException à l'initialisation
attribute DOMString textShadow;
// soulève une exception DOMException à l'initialisation
attribute DOMString textTransform;
// soulève une exception DOMException à l'initialisation
attribute DOMString top;
// soulève une exception DOMException à l'initialisation
attribute DOMString unicodeBidi;
// soulève une exception DOMException à l'initialisation
attribute DOMString verticalAlign;
// soulève une exception DOMException à l'initialisation
attribute DOMString visibility;
// soulève une exception DOMException à l'initialisation
attribute DOMString voiceFamily;
// soulève une exception DOMException à l'initialisation
attribute DOMString volume;
// soulève une exception DOMException à l'initialisation
attribute DOMString whiteSpace;
// soulève une exception DOMException à l'initialisation
attribute DOMString widows;
// soulève une exception DOMException à l'initialisation
attribute DOMString width;
// soulève une exception DOMException à l'initialisation
attribute DOMString wordSpacing;
// soulève une exception DOMException à l'initialisation
attribute DOMString zIndex;
// soulève une exception DOMException à l'initialisation
};
azimuth de type DOMString