theme
| Typ | Object |
|---|---|
| Verpflichtend | Nein |
| Manifest-Version | 2 oder höher |
| Beispiel |
json |
Verwenden Sie den theme-Schlüssel, um ein statisches Theme festzulegen, das auf Firefox angewendet werden soll. Wenn dieser allein bereitgestellt wird, definiert er das Theme, das verwendet wird, wenn Firefox entweder das helle oder dunkle Farbschema verwendet. Wenn der dark_theme-Schlüssel bereitgestellt wird, bietet dieser Schlüssel das Theme, das verwendet wird, wenn Firefox das helle Farbschema verwendet.
Hinweis:
Wenn Sie ein Theme mit einer Erweiterung einschließen möchten, sehen Sie bitte die theme API.
Hinweis: Seit Mai 2019 müssen Themes signiert sein, um installiert werden zu können (Firefox-Fehler 1545109). Sehen Sie Signing and distributing your add-on für weitere Details.
Bildformate
Die folgenden Bildformate werden in allen Theme-Bildattributen unterstützt:
- JPEG
- PNG
- APNG
- SVG (animierte SVG werden ab Firefox 59 unterstützt)
- GIF (animierte GIF werden nicht unterstützt)
Syntax
Der theme-Schlüssel ist ein Objekt, das die folgenden Eigenschaften hat:
| Name | Typ | Beschreibung |
|---|---|---|
images |
Object |
Optional ab Firefox 60. Vor Firefox 60 verpflichtend.
Ein JSON-Objekt, dessen Eigenschaften die in verschiedenen Bereichen des Browsers anzuzeigenden Bilder darstellen. Siehe
|
colors |
Object |
Verpflichtend
Ein JSON-Objekt, dessen Eigenschaften die Farben verschiedener Teile des Browsers darstellen. Siehe |
properties |
Object |
Optional
Dieses Objekt hat Eigenschaften, die beeinflussen, wie die
|
images
Alle URLs sind relativ zur manifest.json-Datei und können keine externe URL referenzieren.
Bilder sollten 200 Pixel hoch sein, um sicherzustellen, dass sie den Header-Bereich immer vertikal ausfüllen.
| Name | Typ | Beschreibung |
|---|---|---|
theme_frame |
String oder Object |
Ein Vordergrundbild (definiert durch den Pfad zu einer Bildressource, die in der Erweiterung verpackt ist) oder CSS-Gradient, das dem Headerbereich hinzugefügt wird und an der oberen rechten Ecke des Headerbereichs verankert ist. CSS-Gradients werden ab Firefox 153 unterstützt. Hinweis: Chrome verankert das Bild an der oberen linken Ecke des Headers und wenn das Bild den Headerbereich nicht ausfüllt, werden die Bilder gekachelt. Optional in Desktop Firefox ab Version 60. |
additional_backgrounds |
Array von String oder Object |
Warnung: Die
Ein Array zusätzlicher Hintergrundelemente, von denen jedes entweder der Pfad zu einer Bildressource, die in der Erweiterung verpackt ist, oder ein CSS-Gradient ist, welches dem Headerbereich hinzugefügt wird und hinter dem
Optional
Standardmäßig sind alle Elemente an der oberen rechten Ecke des
Headerbereichs verankert, aber ihre Ausrichtung, Wiederholung und Größenverhalten sowie das
Bereich des Browserfensters, in dem sie gezeichnet werden, können von
Da zusätzliche Hintergrundelemente hinter dem |
CSS-Gradientsyntax
Ein CSS-Gradient wird als Objekt in der Form { "GRADIENT_TYPE": "GRADIENT_PARAMS" } angegeben, wobei:
GRADIENT_TYPEist einer der folgenden:linear-gradientradial-gradientconic-gradientrepeating-linear-gradientrepeating-radial-gradientrepeating-conic-gradient
GRADIENT_PARAMSenthält die Parameter für diese CSS-Gradientfunktion, wie in CSS Gradientwerte beschrieben.
colors
Diese Eigenschaften definieren die Farben, die für verschiedene Teile des Browsers verwendet werden. Sie sind alle optional. Wie diese Eigenschaften die Firefox-Benutzeroberfläche beeinflussen, wird hier gezeigt:
|
|
Hinweis: Wenn ein Bestandteil von mehreren Farbeigenschaften betroffen ist, sind die Eigenschaften in der Reihenfolge ihrer Priorität aufgeführt.
Alle diese Eigenschaften können entweder als Zeichenfolge angegeben werden, die einen gültigen CSS-Farbenstring (einschließlich hexadezimal) enthält, oder als RGB-Array, wie zum Beispiel "tab_background_text": [ 107 , 99 , 23 ].
| Name | Beschreibung |
|---|---|
bookmark_text |
Die Farbe von Text und Symbolen in der Lesezeichen- und Suchleiste. Wenn
Hinweis: Stellen Sie sicher, dass jede verwendete Farbe gut mit
dem in
Wenn Beispiel anzeigenjson
|
button_background_active |
Die Hintergrundfarbe der gedrückten Symbolleistenschaltflächen. Beispiel anzeigenjson
|
button_background_hover |
Die Hintergrundfarbe der Symbolleistenschaltflächen beim Darüberfahren. Beispiel anzeigenjson
|
icons |
Die Farbe der Symbolleistensymbole, außer denen in der Suchsymbolleiste.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
icons_attention |
Die Farbe der Symbolleistensymbole im Status der Aufmerksamkeit, wie das Sternsymbol des Lesezeichens oder das Symbol des abgeschlossenen Downloads.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
frame |
Die Farbe des Headerbereichs-Hintergrunds, der in dem Teil des
Headers angezeigt wird, der nicht von den in
Beispiel anzeigenjson
|
frame_inactive |
Die Farbe des Headerbereichs-Hintergrunds, wenn das Browserfenster
inaktiv ist, angezeigt in dem Teil des Headers, der nicht von den in Beispiel anzeigenjson
|
ntp_background |
Die Hintergrundfarbe der neuen Tab-Seite. Beispiel anzeigenjson
|
ntp_card_background |
Die Hintergrundfarbe der Karten auf der neuen Tab-Seite. Beispiel anzeigenjson
|
ntp_text |
Die Textfarbe auf der neuen Tab-Seite.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
popup |
Die Hintergrundfarbe von Popups (wie die Dropdown-Liste der URL-Leiste und die Pfeilfenster). Beispiel anzeigenjson
|
popup_border |
Die Rahmenfarbe von Popups. Beispiel anzeigenjson
|
popup_highlight |
Die Hintergrundfarbe von in Popups hervorgehobenen Elementen, die über die Tastatur ausgewählt werden (wie das ausgewählte Dropdown-Element der URL-Leiste).
Hinweis: Es wird empfohlen, Beispiel anzeigenjson
|
popup_highlight_text |
Die Textfarbe von hervorgehobenen Elementen in Popups.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
der in Beispiel anzeigenjson
|
popup_text |
Die Textfarbe von Popups.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
der in Beispiel anzeigenjson
|
sidebar |
Die Hintergrundfarbe der Seitenleiste. Beispiel anzeigenjson
|
sidebar_border |
Die Rahmen- und Trennlinienfarbe der Browsersidebar Beispiel anzeigenjson
|
sidebar_highlight |
Die Hintergrundfarbe der hervorgehobenen Zeilen in integrierten Seitenleisten Beispiel anzeigenjson
|
sidebar_highlight_text |
Die Textfarbe hervorgehobener Zeilen in Seitenleisten.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
der in Beispiel anzeigenjson
|
sidebar_text |
Die Textfarbe der Seitenleisten.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
der in Beispiel anzeigenjson
|
tab_background_separator
|
Warnung: Die Farbe des vertikalen Trennzeichens der Hintergrundtabs. Beispiel anzeigenjson
|
tab_background_text |
Die Farbe des Textes, der in den inaktiven Seiten-Tabs angezeigt wird. Wenn
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
jenen in Beispiel anzeigenjson
|
tab_line |
Die Farbe der Linie des ausgewählten Tabs. Beispiel anzeigenjson
|
tab_loading |
Die Farbe des Ladeindikators des Tabs und der Ladeburst des Tabs. Beispiel anzeigenjson
|
tab_selected |
Die Hintergrundfarbe des ausgewählten Tabs. Wenn nicht in Gebrauch, wird die Farbe des ausgewählten Tabs durch Beispiel anzeigenjson
|
tab_text |
Ab Firefox 59 stellt er die Textfarbe für den ausgewählten Tab dar. Wenn
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
den in Beispiel anzeigenjson
|
toolbar |
Die Hintergrundfarbe für die Navigationsleiste, die Lesezeichenleiste und den ausgewählten Tab. Dies legt auch die Hintergrundfarbe der "Finden"-Leiste fest. Beispiel anzeigenjson
|
toolbar_bottom_separator |
Die Farbe der Linie, die den unteren Bereich der Symbolleiste von dem darunter liegenden Bereich trennt. Beispiel anzeigenjson
|
toolbar_field |
Die Hintergrundfarbe für Felder in der Symbolleiste, wie die URL-Leiste. Dies legt auch die Hintergrundfarbe des Seite-finden Feldes fest. Beispiel anzeigenjson
|
toolbar_field_border |
Die Rahmenfarbe für Felder in der Symbolleiste. Dies legt auch die Rahmenfarbe des Seite-finden Feldes fest. Beispiel anzeigenjson
|
toolbar_field_border_focus |
Die fokussierte Rahmenfarbe für Felder in der Symbolleiste. Beispiel anzeigenjson
|
toolbar_field_focus |
Die fokussierte Hintergrundfarbe für Felder in der Symbolleiste, wie die URL-Leiste. Beispiel anzeigenjson
|
toolbar_field_highlight |
Die Hintergrundfarbe, die verwendet wird, um die aktuelle Textauswahl in
der URL-Leiste anzuzeigen (und die Suchleiste, wenn sie so konfiguriert ist, dass sie separat ist).
Beispiel anzeigenjson
Hier spezifiziert das |
toolbar_field_highlight_text |
Die Farbe, die verwendet wird, um Text zu zeichnen, der derzeit in der URL-Leiste ausgewählt ist (und der Suchleiste, wenn sie als separater Kasten konfiguriert ist).
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
Hier wird das |
toolbar_field_separator |
Warnung:
Die Farbe der Trennlinien innerhalb der URL-Leiste. In Firefox 58 wurde dies als
Beispiel anzeigenjson
In diesem Screenshot ist |
toolbar_field_text |
Die Farbe des Textes in Feldern in der Symbolleiste, wie die URL-Leiste. Dies legt auch die Farbe des Textes im Seite-finden Feld fest.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
toolbar_field_text_focus |
Die Farbe des Textes in fokussierten Feldern in der Symbolleiste, wie die URL-Leiste.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
toolbar_text |
Die Farbe des Textes in der Symbolleiste. Dies legt auch die Farbe des Textes in der "Finden"-Leiste fest.
Hinweis: Für die Kompatibilität mit Chrome verwenden Sie das Alias
Beispiel anzeigenjson
|
toolbar_top_separator |
Die Farbe der Linie, die den oberen Bereich der Symbolleiste von dem darüber liegenden Bereich trennt. Beispiel anzeigenjson
|
toolbar_vertical_separator |
Die Farbe der Trennlinie in der Lesezeichensymbolleiste. In Firefox 58 entspricht dies der Farbe der Trennlinien innerhalb der URL-Leiste. Beispiel anzeigenjson
|
Aliase
Zusätzlich akzeptiert dieser Schlüssel verschiedene Eigenschaften, die Aliase für eine der oben genannten Eigenschaften sind. Diese werden zur Kompatibilität mit Chrome bereitgestellt. Wenn ein Alias angegeben ist und die Nicht-Alias-Version ebenfalls angegeben ist, wird der Wert aus der Nicht-Alias-Version übernommen.
| Name | Alias für |
|---|---|
bookmark_text |
toolbar_text |
properties
| Name | Typ | Beschreibung |
|---|---|---|
additional_backgrounds_alignment |
|
Optional
Ein Array von Enumerationswerten, die die Ausrichtung des
entsprechenden
Wenn das Array enthält weniger Elemente als das Wenn nicht angegeben, ist die Standardeinstellung |
additional_backgrounds_tiling |
|
Optional
Ein Array von Enumerationswerten, die festlegen, wie das entsprechende
Wenn das Array enthält weniger Elemente als das Wenn nicht angegeben, ist die Standardeinstellung |
additional_backgrounds_size |
|
Optional
Ein Array von Werten, die die Größe des entsprechenden
Wenn das Array enthält weniger Elemente als das Wenn nicht angegeben, ist die Standardeinstellung |
backgrounds_area |
|
Optional Bestimmt den Bereich des Browserfensters, in dem die Hintergrundbilder und Verläufe des Themes gezeichnet werden. Zu den Optionen gehören:
Wenn nicht angegeben, ist die Standardeinstellung |
color_scheme |
|
Optional Bestimmt, welches Farbschema auf das Chrome (zum Beispiel, Kontextmenüs) und den Inhalt (zum Beispiel, eingebettete Seiten und das bevorzugte Farbschema für Webseiten) angewendet wird. Zu den Optionen gehören:
Wenn nicht angegeben, ist die Standardeinstellung |
content_color_scheme |
|
Optional
Bestimmt, welches Farbschema auf den Inhalt (zum Beispiel, eingebettete Seiten und
bevorzugtes Farbschema für Webseiten) angewendet wird. Überschreibt
Wenn nicht angegeben, ist die Standardeinstellung |
Beispiele
Ein grundlegendes Thema muss ein Bild definieren, das dem Header hinzugefügt wird, die Akzentfarbe, die im Header verwendet wird, und die Textfarbe, die im Header verwendet wird:
"theme": {
"images": {
"theme_frame": "images/sun.jpg"
},
"colors": {
"frame": "#CF723F",
"tab_background_text": "black"
}
}
Mehrere Elemente können verwendet werden, um den Header zu füllen. Vor Firefox Version 60 verwenden Sie ein leeres oder transparentes Header-Bild, um die Platzierung jedes zusätzlichen Elements zu steuern:
"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"
}
}
Sie können den Header auch mit einem wiederholten Bild oder Bildern füllen, in diesem Fall ein einzelnes Bild, das oben in der Mitte des Headers verankert ist und über den Rest des Headers wiederholt wird:
"theme": {
"images": {
"additional_backgrounds": [ "images/logo.png"]
},
"properties": {
"additional_backgrounds_alignment": [ "top" ],
"additional_backgrounds_tiling": [ "repeat" ]
},
"colors": {
"frame": "green",
"tab_background_text": "black"
}
}
Das folgende Beispiel verwendet die meisten der verschiedenen Werte für 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"
}
}
Es wird Ihnen einen Browser geben, der so aussieht:

In diesem Screenshot ist "toolbar_vertical_separator" die weiße vertikale Linie in der URL-Leiste, die das Reader-Mode-Symbol von den anderen Symbolen trennt.
Dieses Beispiel (Firefox 153+) mischt Bildhintergründe mit einem CSS linear gradient:
"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"]
}
}
Dies führt zu:
background-image1.svgwird oben rechts in seiner natürlichen Größe angezeigt.background-image2.svgwird oben links in seiner natürlichen Größe angezeigt.- Der
linear-gradientwird von oben rechts aus, horizontal über den Header gekachelt (repeat-x), und auf 144px Höhe skaliert (Breite ist automatisch). Der Gradient wechselt von Pink (#FF6BBA) oben zu Pfirsich (#FFC999) unten.
Dieses Beispiel (Firefox 156+) beschränkt den Hintergrundgradienten auf die horizontalen Toolbars am oberen Rand des Fensters, sodass er sich nicht hinter die Seitenleiste oder vertikale Tabs erstreckt. Ohne backgrounds_area bewirkt die "right top"-Ausrichtung, dass Firefox den Gradient auf das gesamte Fenster zeichnet:
"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"
}
}
Mit backgrounds_area auf "top_toolbars" gesetzt, verwendet die Seitenleiste die frame-Farbe. Wenn backgrounds_area auf "window" geändert wird, wird der Gradient über das gesamte Fenster gezeichnet, einschließlich hinter der Seitenleiste.
Browser-Kompatibilität
Chrome-Kompatibilität
In Chrome:
-
colors/toolbar_textwird nicht verwendet, verwenden Sie stattdessencolors/bookmark_text. -
images/theme_frameverankert das Bild oben links im Header und wenn das Bild den Header-Bereich nicht ausfüllt, wird das Bild gekachelt. -
Alle Farben müssen als ein Array von RGB-Werten angegeben werden, wie folgt:
json"theme": { "colors": { "frame": [255, 0, 0], "tab_background_text": [0, 255, 0], "bookmark_text": [0, 0, 255] } }
Ab Firefox 59 werden sowohl die Array-Form als auch die CSS-Farbform für alle Eigenschaften akzeptiert. Davor erforderten colors/frame und colors/tab_background_text die Array-Form, während andere Eigenschaften die CSS-Farbform erforderten.































