theme
| Type | Object |
|---|---|
| Obligatoire | Non |
| Exemple |
json |
Utilisez la clé theme pour définir un thème statique à appliquer à Firefox. Lorsqu'elle est fournie seule, elle définit le thème utilisé lorsque Firefox utilise les schémas de couleurs claires ou sombres. Si la clé dark_theme est fournie, cette clé définit le thème utilisé lorsque Firefox utilise le schéma de couleurs clair.
Note :
Si vous voulez inclure un thème avec une extension, veuillez voir l'API theme.
Note : Depuis mai 2019, les thèmes doivent être signés pour être installés (bogue Firefox 1545109 (angl.)). Voir Signature et distribution de votre extension (angl.) pour plus de détails.
Formats des images
Les formats d'image suivants sont pris en charge dans toutes les propriétés de l'image du thème :
- JPEG
- PNG
- APNG
- SVG (SVG animé est pris en charge à partir de Firefox 59)
- GIF (Le GIF animé n'est pas supporté)
Syntaxe
La clé du thème est un objet qui prend les propriétés suivantes :
| Nom | Type | Description |
|---|---|---|
images |
Objet |
Facultatif à partir de Firefox 60. Obligatoire avant Firefox 60.
Un objet JSON dont les propriétés représentent les images à afficher dans différentes parties du navigateur. Voir les |
colors |
Objet |
Obligatoire.
Un objet JSON dont les propriétés représentent les couleurs de différentes parties du navigateur. Voir |
properties |
Objet |
Optionnel
Cet objet possède des propriétés qui affectent la manière dont les éléments |
images
Toutes les URL sont relatives au fichier manifest.json et ne peuvent pas référencer une URL externe.
Les images doivent avoir une hauteur de 200 pixels pour garantir qu'elles remplissent toujours l'espace d'en-tête verticalement.
| Nom | Type | Description |
|---|---|---|
theme_frame |
String ou Object |
Une image de premier plan de l'UA (définie par le chemin vers un actif d'image inclus dans l'extension) ou un dégradé CSS à ajouter à la zone d'en-tête et ancrée dans le coin supérieur droit de la zone d'en-tête. Les dégradés CSS sont pris en charge à partir de Firefox 153. Note : Chrome ancre l'image dans le coin supérieur gauche de l'en-tête et si l'image ne remplit pas la zone de l'en-tête, l'image est en mosaïque. Optionnel dans Firefox pour ordinateur de bureau à partir de la version 60. |
additional_backgrounds |
Array de String ou Object |
Attention : La propriété
Un tableau d'éléments d'arrière-plan supplémentaires, chacun étant soit le chemin vers un actif d'image inclus dans l'extension, soit un dégradé CSS, à ajouter à la zone d'en-tête et affiché derrière l'élément Optionnel
Par défaut, tous les éléments sont ancrés dans le coin supérieur droit de la zone d'en-tête, mais leur alignement, leur répétition et leur comportement de taille, ainsi que la zone de la fenêtre du navigateur dans laquelle ils sont dessinés, peuvent être contrôlés par
Comme les éléments d'arrière-plan supplémentaires s'affichent derrière l'élément |
Syntaxe de dégradé CSS
Un dégradé CSS est défini sous forme d'objet de la manière suivante { "GRADIENT_TYPE": "GRADIENT_PARAMS" }, où :
GRADIENT_TYPEest une valeur :linear-gradientradial-gradientconic-gradientrepeating-linear-gradientrepeating-radial-gradientrepeating-conic-gradient
GRADIENT_PARAMScontient les paramètres de cette fonction de dégradé CSS, comme décrit dans valeurs de dégradé CSS.
colors
Ces propriétés définissent les couleurs utilisées pour les différentes parties du navigateur. Elles sont toutes facultatives. Voici comment ces propriétés influencent l'interface utilisateur de Firefox :
|
|
Note : Lorsqu'un composant est affecté par plusieurs propriétés de couleur, les propriétés sont listées par ordre de priorité.
Toutes ces propriétés peuvent être définies soit sous forme de chaîne de caractères contenant une valeur de couleur CSS valide (y compris hexadécimale), soit sous forme de tableau RVB, par exemple "tab_background_text": [ 107 , 99 , 23 ].
| Nom | Description |
|---|---|
bookmark_text |
La couleur du texte et des icônes dans le signet et les barres de recherche. De plus, si
Note : Assurez-vous que toute couleur utilisée contraste bien avec celles utilisées dans
Là où les Voir l'exemplejson
|
button_background_active |
La couleur de l'arrière-plan des boutons de la barre d'outils. Voir l'exemplejson
|
button_background_hover |
La couleur de l'arrière-plan des boutons de la barre d'outils au survol. Voir l'exemplejson
|
icons |
La couleur des icônes de la barre d'outils, à l'exclusion de celles de la barre d'outils de recherche.
Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans Voir l'exemplejson
|
icons_attention |
La couleur des icônes de la barre d'outils dans l'état d'attention comme l'icône de signet étoilé ou l'icône de téléchargement terminé.
Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans Voir l'exemplejson
|
frame |
La couleur de l'arrière-plan de la zone d'en-tête, affichée dans la partie de l'en-tête non couverte ou visible à travers les images définies dans Voir l'exemplejson
|
frame_inactive |
La couleur de l'arrière-plan de la zone d'en-tête quand la fenêtre du navigateur est inactive, affichée dans la partie de l'en-tête non couverte ou visible à travers les images définies dans Voir l'exemplejson
|
ntp_background |
La couleur d'arrière-plan de la page du nouvel onglet. Voir l'exemplejson
|
ntp_card_background |
La couleur d'arrière-plan de la carte de la page du nouvel onglet. Voir l'exemplejson
|
ntp_text |
La couleur du texte de la page du nouvel onglet.
Note : Assurez-vous que la couleur utilisée contraste bien avec celle utilisée dans Voir l'exemplejson
|
popup |
La couleur d'arrière-plan des fenêtres intrusives (telles que la liste déroulante de la barre d'adresse et les menus avec une flèche) Voir l'exemplejson
|
popup_border |
La couleur de la bordure des fenêtres intrusives. Voir l'exemplejson
|
popup_highlight |
La couleur d'arrière-plan des éléments mis en surbrillance à l'aide du clavier dans les fenêtre intrusives (tel que l'élément sélectionné dans le menu déroulant de la barre d'URL).
Note : Il est recommandé de définir Voir l'exemplejson
|
popup_highlight_text |
La couleur du texte des éléments mis en surbrillance dans les fenêtres intrusives.
Note : S'assurer que la couleur utilisée contraste bien avec celle utilisée dans Voir l'exemplejson
|
popup_text |
La couleur du texte des fenêtres intrusives.
Note : S'assurer que la couleur utilisée contraste bien avec celle utilisée dans Voir l'exemplejson
|
sidebar |
La couleur de fond des barres latérales intégrées. Voir l'exemplejson
|
sidebar_border |
La couleur de la bordure et du séparateur de la barre latérale du navigateur. Voir l'exemplejson
|
sidebar_highlight |
La couleur d'arrière-plan des lignes en surbrillance dans les barres latérales intégrées. Voir l'exemplejson
|
sidebar_highlight_text |
La couleur du texte des lignes en surbrillance dans les barres latérales intégrées.
Note : S'assurer que la couleur utilisée contraste bien avec celle utilisée dans Voir l'exemplejson
|
sidebar_text |
La couleur du texte des barres latérales intégrées.
Note : S'assurer que la couleur utilisée contraste bien avec celle utilisée dans Voir l'exemplejson
|
tab_background_separator
|
Attention : La couleur du séparateur vertical des onglets d'arrière-plan. Voir l'exemplejson
|
tab_background_text |
La couleur du texte affiché dans les onglets des pages inactives. Si
Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans Voir l'exemplejson
|
tab_line |
La couleur de la ligne de l'onglet sélectionnée. Voir l'exemplejson
|
tab_loading |
La couleur de l'indicateur de chargement de l'onglet et de l'effet de vague. Voir l'exemplejson
|
tab_selected |
La couleur de fond de l'onglet sélectionné. Lorsqu'elle n'est pas utilisée, la couleur de l'onglet sélectionné est définie par Voir l'exemplejson
|
tab_text |
Depuis Firefox 59, il représente la couleur du texte de l'onglet sélectionné. Si
Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans Voir l'exemplejson
|
toolbar |
La couleur de fond de la barre de navigation, de la barre de signets et de l'onglet sélectionné. Ceci définit également la couleur de fond de la barre « Rechercher ». Voir l'exemplejson
|
toolbar_bottom_separator |
La couleur de la ligne séparant le bas de la barre d'outils de la région en dessous. Voir l'exemplejson
|
toolbar_field |
La couleur d'arrière-plan des champs de la barre d'outils, comme la barre URL. Ceci définit également la couleur de fond du champ Rechercher dans la page. Voir l'exemplejson
|
toolbar_field_border |
La couleur de la bordure des champs de la barre d'outils. Ceci définit également la couleur de fond du champ Rechercher dans la page. Voir l'exemplejson
|
toolbar_field_border_focus |
La couleur de bordure pour les champs de la barre d'outils qui ont la sélection. Voir l'exemplejson
|
toolbar_field_focus |
La couleur de fond pour les champs de la barre d'outils qui ont la sélection, tels que la barre d'URL. Voir l'exemplejson
|
toolbar_field_highlight |
La couleur d'arrière-plan utilisée pour indiquer la sélection actuelle du texte dans la barre URL (et la barre de recherche, si elle est configurée pour être séparée).
Voir l'exemplejson
Ici, le champ |
toolbar_field_highlight_text |
La couleur utilisée pour dessiner le texte actuellement sélectionné dans la barre d'URL (et la barre de recherche, si elle est configurée comme boîte séparée).
Note : S'assurer que la couleur utilisée contraste bien avec celles utilisées dans Voir l'exemplejson
Ici, le champ |
toolbar_field_separator |
Attention :
La couleur des séparateurs à l'intérieur de la barre d'URL. Dans Firefox 58, cela a été implémenté en tant que Voir l'exemplejson
Dans cette capture d'écran, |
toolbar_field_text |
La couleur du texte dans les champs de la barre d'outils, comme la barre URL. Ceci définit également la couleur du texte dans le champ Rechercher dans la page.
Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans Voir l'exemplejson
|
toolbar_field_text_focus |
La couleur du texte dans les champs de la barre d'outils qui ont la sélection, tels que la barre d'URL.
Note : Assurez-vous que la couleur utilisée contraste bien avec celles utilisées dans Voir l'exemplejson
|
toolbar_text |
La couleur du texte de la barre d'outils. Ceci définit également la couleur du texte dans la barre « Rechercher ».
Note : Pour la compatibilité avec Chrome, utilisez l'alias Voir l'exemplejson
|
toolbar_top_separator |
La couleur de la ligne séparant le bas de la barre d'outils de la région en dessous. Voir l'exemplejson
|
toolbar_vertical_separator |
La couleur du séparateur à côté de l'icône du menu d'application. Dans Firefox 58, il correspond à la couleur des séparateurs dans la barre d'URL. Voir l'exemplejson
|
Aliases
De plus, cette clé accepte diverses propriétés qui sont des alias de l'une des propriétés ci-dessus. Celles-ci sont fournies à des fins de compatibilité avec Chrome. Si un alias est définit et que la version non alias est également définie, la valeur est alors extraite de la version sans alias.
| Nom | Alias pour |
|---|---|
bookmark_text |
toolbar_text |
properties
| Nom | Type | Description |
|---|---|---|
additional_backgrounds_alignment |
|
Optionnel.
Un tableau de valeurs d'énumération définissant l'alignement de l'élément
Si le tableau contient moins d'éléments que le tableau Si pas défini, par défaut |
additional_backgrounds_tiling |
|
Optionnel
Un tableau de valeurs d'énumérations définissant, comme l'élément de tableau
Si le tableau contient moins d'éléments que le tableau Si pas défini, par défaut |
additional_backgrounds_size |
|
Optionnel
Un tableau de valeurs définissant la taille de l'élément de tableau correspondant
Si le tableau contient moins d'éléments que le tableau Si pas défini, par défaut |
backgrounds_area |
|
Optionnel Détermine la zone de la fenêtre du navigateur où les images d'arrière-plan et les dégradés du thème sont dessinés. Les options comprennent :
Si pas défini, par défaut |
color_scheme |
|
Optionnel Détermine le schéma de couleurs appliqué à l'interface du navigateur (par exemple, aux menus contextuels) et au contenu (par exemple, aux pages intégrées et au schéma de couleurs préféré pour les pages web). Les options comprennent :
Si pas défini, par défaut |
content_color_scheme |
|
Optionnel
Détermine le schéma de couleurs appliqué au contenu (par exemple, aux pages intégrées et au schéma de couleurs préféré pour les pages web). Cette propriété remplace
Si pas défini, par défaut |
Exemples
Un thème de base doit définir une image à ajouter à l'en-tête, la couleur d'accent à utiliser dans l'en-tête et la couleur du texte utilisée dans l'en-tête :
"theme": {
"images": {
"theme_frame": "images/sun.jpg"
},
"colors": {
"frame": "#CF723F",
"tab_background_text": "black"
}
}
Plusieurs éléments peuvent être utilisés pour remplir l'en-tête. Avant la version 60 de Firefox, utilisez une image d'en-tête vierge ou transparente pour contrôler l'emplacement de chaque élément supplémentaire :
"theme": {
"images": {
"additional_backgrounds": [ "images/left.png", "images/middle.png", "images/right.png" ]
},
"properties": {
"additional_backgrounds_alignment": [ "left top", "top", "right top" ]
},
"colors": {
"frame": "blue",
"tab_background_text": "white"
}
}
Vous pouvez également remplir l'en-tête avec une image répétée, ou des images, dans ce cas, une seule image ancrée dans le milieu du haut de l'en-tête et répétée sur le reste de l'en-tête :
"theme": {
"images": {
"additional_backgrounds": [ "images/logo.png" ]
},
"properties": {
"additional_backgrounds_alignment": [ "top" ],
"additional_backgrounds_tiling": [ "repeat" ]
},
"colors": {
"frame": "green",
"tab_background_text": "black"
}
}
L'exemple suivant utilise la plupart des différentes valeurs de "theme.colors" :
"theme": {
"images": {
"theme_frame": "weta.png"
},
"colors": {
"frame": "darkgreen",
"tab_background_text": "white",
"toolbar": "blue",
"bookmark_text": "cyan",
"toolbar_field": "orange",
"toolbar_field_border": "white",
"toolbar_field_text": "green",
"toolbar_top_separator": "red",
"toolbar_bottom_separator": "white",
"toolbar_vertical_separator": "white"
}
}
Cela vous donne un navigateur qui ressemble à ceci :

Dans cette capture d'écran, "toolbar_vertical_separator" est la ligne verticale blanche dans la barre d'URL divisant l'icône du mode Lecteur des autres icônes.
Le exemple suivant (Firefox 153+) mélange des arrière-plans d'images avec un dégradé linéaire CSS :
"theme": {
"images": {
"additional_backgrounds": [
"background-image1.svg",
"background-image2.svg",
{ "linear-gradient": "to bottom, #FF6BBA -20%, #FFC999 50%" }
]
},
"properties": {
"additional_backgrounds_alignment": ["right top", "left top", "right top"],
"additional_backgrounds_tiling": ["no-repeat", "no-repeat", "repeat-x"],
"additional_backgrounds_size": ["auto", "auto", "auto 144px"]
}
}
Cela donne :
background-image1.svgaffichée en haut à droite, à sa taille naturelle.background-image2.svgaffichée en haut à gauche, à sa taille naturelle.- Le
linear-gradientaffiché depuis le coin supérieur droit, répété horizontalement sur l'en-tête (repeat-x), et dimensionné à 144px de hauteur (la largeur est automatique). Le dégradé passe du rose (#FF6BBA) en haut au pêche (#FFC999) en bas.
Le exemple suivant (Firefox 156+) restreint le dégradé d'arrière-plan aux barres d'outils horizontales en haut de la fenêtre, de sorte qu'il ne s'étende pas derrière la barre latérale ou les onglets verticaux. Sans backgrounds_area, l'alignement "right top" fait que Firefox dessine le dégradé sur toute la fenêtre :
"theme": {
"images": {
"additional_backgrounds": [
{ "linear-gradient": "to bottom, rgb(255, 0, 128), rgb(0, 128, 255)" }
]
},
"colors": {
"frame": "#000080",
"tab_background_text": "#ffffff"
},
"properties": {
"additional_backgrounds_alignment": ["right top"],
"additional_backgrounds_tiling": ["no-repeat"],
"additional_backgrounds_size": ["100% 100%"],
"backgrounds_area": "top_toolbars"
}
}
Avec backgrounds_area défini sur "top_toolbars", la barre latérale utilise la couleur frame. Changer backgrounds_area en "window" dessine le dégradé sur toute la fenêtre, y compris derrière la barre latérale.
Compatibilité des navigateurs
Compatibilité avec Chrome
Dans Chrome :
-
colors/toolbar_textn'est pas utilisé, utilisezcolors/bookmark_textà la place. -
images/theme_frameancre l'image en haut à gauche de l'en-tête et si l'image ne remplit pas la zone de l'en-tête, elle est répétée. -
toutes les couleurs doivent être définies sous forme de tableau de valeurs RVB, comme ceci :
json"theme": { "colors": { "frame": [255, 0, 0], "tab_background_text": [0, 255, 0], "bookmark_text": [0, 0, 255] } }À partir de Firefox 59, les deux formes, tableau et couleur CSS, sont acceptées pour toutes les propriétés. Avant cela,
colors/frameetcolors/tab_background_textnécessitaient la forme tableau, tandis que les autres propriétés nécessitaient la forme couleur CSS.































