theme
| Typ | Object |
|---|---|
| Verpflichtend | Nein |
| Manifest-Version | 2 oder höher |
| Beispiel |
json |
Verwenden Sie den theme-Schlüssel, um ein statisches Thema für Firefox zu definieren. Wenn es alleine angegeben wird, definiert es das Thema, das verwendet wird, wenn Firefox entweder das helle oder dunkle Farbschema verwendet. Wenn der dark_theme-Schlüssel angegeben wird, bietet dieser Schlüssel das Thema, das verwendet wird, wenn Firefox das helle Farbschema verwendet.
Hinweis:
Wenn Sie ein Thema 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 Bug 1545109). Weitere Informationen finden Sie unter Signing and distributing your add-on.
Bildformate
Die folgenden Bildformate werden in allen Themenbildeigenschaften unterstützt:
- JPEG
- PNG
- APNG
- SVG (animiertes SVG wird ab Firefox 59 unterstützt)
- GIF (animiertes GIF wird nicht unterstützt)
Syntax
Der theme-Schlüssel ist ein Objekt, das die folgenden Eigenschaften aufnimmt:
| Name | Typ | Beschreibung |
|---|---|---|
images |
Object |
Optional ab Firefox 60. Vor Firefox 60 erforderlich.
Ein JSON-Objekt, dessen Eigenschaften die Bilder darstellen, die in
verschiedenen Teilen des Browsers angezeigt werden sollen. 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 Kopfbereich immer vertikal ausfüllen.
| Name | Typ | Beschreibung |
|---|---|---|
theme_frame |
String oder Object |
Ein Vordergrundbild (definiert durch den Pfad zu einer im Add-on enthaltenen Bilddatei) oder ein CSS-Gradient zum Hinzufügen zum Kopfbereich, verankert an der oberen rechten Ecke des Kopfbereichs. CSS-Gradienten werden ab Firefox 153 unterstützt. Hinweis: Chrome verankert das Bild oben links im Kopfbereich und wenn das Bild den Kopfbereich nicht ausfüllt, wird es gekachelt. Optional im Desktop Firefox 60 und später. |
additional_backgrounds |
Array von String oder Object |
Warnung: Die
Ein Array zusätzlicher Hintergrundelemente, die jeweils entweder der Pfad zu einer im Add-on enthaltenen Bilddatei oder ein CSS-Gradient sein können, der zum
Kopfbereich hinzugefügt und hinter dem
Optional
Standardmäßig sind alle Elemente an der oberen rechten Ecke des
Kopfbereichs verankert, aber ihre Ausrichtung, Wiederholung und Größenverhalten können
durch
Da zusätzliche Hintergrundelemente hinter dem |
CSS-Gradient-Syntax
Ein CSS-Gradient wird als Objekt in der Form { "GRADIENT_TYPE": "GRADIENT_PARAMS" } angegeben, wobei:
GRADIENT_TYPEeines der folgenden ist:linear-gradientradial-gradientconic-gradientrepeating-linear-gradientrepeating-radial-gradientrepeating-conic-gradient
GRADIENT_PARAMSdie Parameter für die CSS-Gradient-Funktion enthält, wie in CSS-Gradient-Werte 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 Element von mehreren Farbeigenschaften beeinflusst wird, sind die Eigenschaften nach Priorität aufgelistet.
Alle diese Eigenschaften können entweder als String angegeben werden, der einen beliebigen gültigen CSS-Farbstring (einschließlich hexadezimal) enthält, oder als RGB-Array, wie etwa "tab_background_text": [ 107 , 99 , 23 ].
| Name | Beschreibung |
|---|---|
bookmark_text |
Die Farbe von Text und Symbolen in der Lesezeichen- und Suchleiste. Auch, wenn
Hinweis: Stellen Sie sicher, dass jede verwendete Farbe gut mit
den in
Wenn Beispiel anzeigenjson
|
button_background_active |
Die Hintergrundfarbe der gedrückten Symbolleistenschaltflächen. Beispiel anzeigenjson
|
button_background_hover |
Die Hintergrundfarbe der Symbolleistenschaltflächen bei Hover. Beispiel anzeigenjson
|
icons |
Die Farbe der Symbolleistensymbole, mit Ausnahme derjenigen in der Suchleiste.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
icons_attention |
Die Farbe der Symbolleistensymbole im Aufmerksamkeitsmodus, wie das mit Stern markierte Lesezeichen-Symbol oder das Fertig-Download-Symbol.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
frame |
Die Farbe des Hintergrunds im Kopfbereich, angezeigt in dem Teil des
Kopfbereichs, der nicht von den in
Beispiel anzeigenjson
|
frame_inactive |
Die Farbe des Hintergrunds im Kopfbereich, wenn das Browserfenster
inaktiv ist. Wird in dem Teil des Kopfbereichs angezeigt, 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
der in Beispiel anzeigenjson
|
popup |
Die Hintergrundfarbe von Pop-ups (wie das Dropdown-Menü der URL-Leiste und die Pfeilfenster). Beispiel anzeigenjson
|
popup_border |
Die Rahmenfarbe von Pop-ups. Beispiel anzeigenjson
|
popup_highlight |
Die Hintergrundfarbe von Elementen, die mit der Tastatur in Pop-ups hervorgehoben sind (wie dem ausgewählten Element im Dropdown-Menü der URL-Leiste).
Hinweis: Es wird empfohlen, Beispiel anzeigenjson
|
popup_highlight_text |
Die Textfarbe der in Pop-ups hervorgehobenen Elemente.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
der in Beispiel anzeigenjson
|
popup_text |
Die Textfarbe von Pop-ups.
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 Trennlinie der Browser-Seitenleiste Beispiel anzeigenjson
|
sidebar_highlight |
Die Hintergrundfarbe hervorgehobener Zeilen in den eingebauten Seitenleisten Beispiel anzeigenjson
|
sidebar_highlight_text |
Die Textfarbe hervorgehobener Zeilen in den 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 Trenners der Hintergrund-Tabs. 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
denen in Beispiel anzeigenjson
|
tab_line |
Die Farbe der Linie im ausgewählten Tab. Beispiel anzeigenjson
|
tab_loading |
Die Farbe des Ladeindikators und des Ladebursts im Tab. 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 repräsentiert es die Textfarbe für den ausgewählten Tab. Wenn
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
toolbar |
Die Hintergrundfarbe für die Navigationsleiste, die Lesezeichenleiste und den ausgewählten Tab. Dies legt auch die Hintergrundfarbe der "Find"-Leiste fest. Beispiel anzeigenjson
|
toolbar_bottom_separator |
Die Farbe der Linie, die den unteren Teil der Symbolleiste von der Region darunter trennt. Beispiel anzeigenjson
|
toolbar_field |
Die Hintergrundfarbe für Felder in der Symbolleiste, wie die URL-Leiste. Dies legt auch die Hintergrundfarbe des Suchfeldes fest. Beispiel anzeigenjson
|
toolbar_field_border |
Die Rahmenfarbe für Felder in der Symbolleiste. Dies legt auch die Rahmenfarbe des Suchfeldes 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 die aktuelle Textauswahl
in der URL-Leiste (und der Suchleiste, wenn konfiguriert) kennzeichnet.
Beispiel anzeigenjson
Hier gibt das |
toolbar_field_highlight_text |
Die Farbe, die verwendet wird, um den aktuell ausgewählten Text in der URL-Leiste (und der Suchleiste, wenn sie als separates Feld konfiguriert ist) darzustellen.
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 der URL-Leiste. Dies setzt auch die Farbe des Textes im Suchfeld 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 der URL-Leiste.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe gut mit
denen in Beispiel anzeigenjson
|
toolbar_text |
Die Farbe des Toolbar-Textes. Dies setzt auch die Farbe des Textes in der "Find"-Leiste fest.
Hinweis: Zur Kompatibilität mit Chrome verwenden Sie das Alias
Beispiel anzeigenjson
|
toolbar_top_separator |
Die Farbe der Linie, die die obere Seite der Symbolleiste von der Region darüber trennt. Beispiel anzeigenjson
|
toolbar_vertical_separator |
Die Farbe des Trenners in der Lesezeichen-Symbolleiste. In Firefox 58 entspricht dies der Farbe der Trennlinien in 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
Enthält das Array weniger Elemente als das Wenn nicht angegeben, ist |
additional_backgrounds_tiling |
|
Optional
Ein Array von Enumerationswerten, die definieren, wie das entsprechende
Enthält das Array weniger Elemente als das Wenn nicht angegeben, ist |
additional_backgrounds_size |
|
Optional
Ein Array von Werten, die die Größe des entsprechenden
Enthält das Array weniger Elemente als das Wenn nicht angegeben, ist |
color_scheme |
|
Optional Bestimmt, welches Farbschema auf das Chrome (z.B. Kontextmenüs) und den Inhalt (z.B. eingebaute Seiten und das bevorzugte Farbschema für Webseiten) angewendet wird. Optionen umfassen:
Wenn nicht angegeben, ist |
content_color_scheme |
|
Optional
Bestimmt, welches Farbschema auf den Inhalt angewendet wird (z.B. eingebaute Seiten und
bevorzugtes Farbschema für Webseiten). Überschreibt
Wenn nicht angegeben, ist |
Beispiele
Ein einfaches Thema muss ein Bild definieren, das zum Kopfbereich hinzugefügt wird, die verwendete Akzentfarbe im Kopfbereich sowie die im Kopfbereich verwendete Textfarbe:
"theme": {
"images": {
"theme_frame": "images/sun.jpg"
},
"colors": {
"frame": "#CF723F",
"tab_background_text": "black"
}
}
Mehrere Elemente können verwendet werden, um den Kopfbereich zu füllen. Vor Version 60 von Firefox, verwenden Sie ein leeres oder transparentes Header-Bild, um Kontrolle über die Platzierung jedes zusätzlichen Elements zu erhalten:
"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 auch den Kopfbereich mit einem wiederholten Bild oder Bildern füllen, in diesem Fall ein einzelnes Bild, das in der Mitte oben im Kopfbereich verankert und über den restlichen Kopfbereich 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"
}
}
Dies 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 Leseansichts-Symbol von den anderen Symbolen trennt.
Dieses Beispiel (ab Firefox 153+) mischt Bildhintergründe mit einem CSS-Lineargradient:
"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 ergibt:
background-image1.svgwird oben rechts mit seiner natürlichen Größe angezeigt.background-image2.svgwird oben links mit seiner natürlichen Größe angezeigt.- Der
linear-gradientwird von oben rechts ausgehend horizontal über den Kopfbereich gekachelt (repeat-x) und auf eine Höhe von 144px skaliert (Breite ist automatisch). Der Gradient wechselt von pink (#FF6BBA) oben zu pfirsichfarben (#FFC999) unten.
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 Kopfbereich und wenn das Bild den Kopfbereich nicht ausfüllt, wird das Bild gekachelt. -
alle Farben müssen als 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-Farb-Form für alle Eigenschaften akzeptiert. Vorher mussten colors/frame und colors/tab_background_text die Array-Form verwenden, während andere Eigenschaften die CSS-Farb-Form erforderten.































