theme
| Typ | Object |
|---|---|
| Pflicht | Nein |
| Manifest-Version | 2 oder höher |
| Beispiel |
json |
Verwenden Sie den theme Schlüssel, um ein statisches Theme zu definieren, das in Firefox angewendet werden soll. Wenn es alleine bereitgestellt wird, definiert es 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 einbinden möchten, beachten Sie bitte die theme API.
Hinweis: Seit Mai 2019 müssen Themes signiert werden, um installiert zu werden (Firefox-Bug 1545109). Weitere Details finden Sie unter Signing and distributing your add-on.
Bildformate
Die folgenden Bildformate werden in allen Theme-Bildeigenschaften unterstützt:
- JPEG
- PNG
- APNG
- SVG (animierte SVG werden ab Firefox 59 unterstützt)
- GIF (animierte GIFs werden nicht unterstützt)
Syntax
Der Theme-Schlüssel ist ein Objekt, das die folgenden Eigenschaften enthält:
| Name | Typ | Beschreibung |
|---|---|---|
images |
Object |
Optional ab Firefox 60. Pflicht vor Firefox 60.
Ein JSON-Objekt, dessen Eigenschaften die Bilder darstellen, die in
verschiedenen Teilen des Browsers angezeigt werden. Siehe
|
colors |
Object |
Pflicht
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 immer den Header-Bereich vertikal ausfüllen.
| Name | Typ | Beschreibung |
|---|---|---|
theme_frame |
String or Object |
Ein Vordergrundbild (definiert durch den Pfad zu einem im Add-on gepackten Bild) oder CSS-Gradient, das dem Header-Bereich hinzugefügt wird und an der oberen rechten Ecke des Header-Bereichs verankert ist. CSS-Gradienten werden ab Firefox 153 unterstützt. Hinweis: In Chrome wird das Bild am oberen linken Rand des Headers verankert und, wenn das Bild den Header-Bereich nicht ausfüllt, das Bild gekachelt. Optional in Desktop-Firefox ab Version 60. |
additional_backgrounds |
Array of String or Object |
Warnung: Die
Ein Array zusätzlicher Hintergrundelemente, die jeweils entweder der Pfad zu einem im Add-on gepackten Bild oder ein CSS-Gradient sind, die dem Header hinzugefügt und hinter dem
Optional
Standardmäßig sind alle Elemente am oberen rechten Rand des
Header-Bereichs verankert, aber ihre Ausrichtung, Wiederholung und Größenverhalten können
über
Da zusätzliche Hintergrundelemente hinter dem |
CSS-Gradient-Syntax
Ein CSS-Gradient wird als ein Objekt in der Form { "GRADIENT_TYPE": "GRADIENT_PARAMS" } angegeben, wobei:
GRADIENT_TYPEeine 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: Wo ein Bestandteil von mehreren Farbeigenschaften beeinflusst wird, sind die Eigenschaften in der Reihenfolge der Priorität aufgelistet.
Alle diese Eigenschaften können entweder als String mit einem gültigen CSS-Farbstring (einschließlich Hexadezimal) oder als RGB-Array angegeben werden, wie beispielsweise "tab_background_text": [ 107 , 99 , 23 ].
| Name | Beschreibung |
|---|---|
bookmark_text |
Die Farbe von Text und Symbolen in den Lesezeichen- und Suchleisten. Außerdem setzt es, wenn
Hinweis: Stellen Sie sicher, dass jede verwendete Farbe einen guten Kontrast zu den in
Wenn Beispiel ansehenjson
|
button_background_active |
Die Farbe des Hintergrunds der gedrückten Symbolleistenschaltflächen. Beispiel ansehenjson
|
button_background_hover |
Die Farbe des Hintergrunds der Symbolleistenschaltflächen beim Überfahren mit der Maus. Beispiel ansehenjson
|
icons |
Die Farbe der Symbolleistensymbole, abgesehen von denen in der Suchleiste.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu denen bietet, die in Beispiel ansehenjson
|
icons_attention |
Die Farbe von Symbolleistensymbolen im Aufmerksamkeit-Zustand wie das Sternchensymbol im Lesezeichen oder das Symbol für abgeschlossene Downloads.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu denen bietet, die in Beispiel ansehenjson
|
frame |
Die Farbe des Hintergrunds des Kopfbereichs, angezeigt in dem Teil des
Headers, der nicht von den in Beispiel ansehenjson
|
frame_inactive |
Die Farbe des Hintergrunds des Kopfbereichs, wenn das Browserfenster
inaktiv ist, angezeigt in dem Teil des Headers, der nicht von den in Beispiel ansehenjson
|
ntp_background |
Die Hintergrundfarbe der neuen Tab-Seite. Beispiel ansehenjson
|
ntp_card_background |
Die Hintergrundfarbe der Karte auf der neuen Tab-Seite. Beispiel ansehenjson
|
ntp_text |
Die Textfarbe der neuen Tab-Seite.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu denen hat, die in Beispiel ansehenjson
|
popup |
Die Hintergrundfarbe von Popups (wie das Dropdown der URL-Leiste und die Pfeiltasten-Panel). Beispiel ansehenjson
|
popup_border |
Die Rahmenfarbe von Popups. Beispiel ansehenjson
|
popup_highlight |
Die Hintergrundfarbe von mit der Tastatur markierten Elementen in Popups (wie das ausgewählte Dropdown-Element der URL-Leiste).
Hinweis: Es wird empfohlen, Beispiel ansehenjson
|
popup_highlight_text |
Die Textfarbe von markierten Elementen in Popups.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu der in Beispiel ansehenjson
|
popup_text |
Die Textfarbe von Popups.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu der in Beispiel ansehenjson
|
sidebar |
Die Hintergrundfarbe der Seitenleiste. Beispiel ansehenjson
|
sidebar_border |
Die Rahmen- und Trennlinienfarbe der Browsersidebar Beispiel ansehenjson
|
sidebar_highlight |
Die Hintergrundfarbe der hervorgehobenen Zeilen in integrierten Seitenleisten Beispiel ansehenjson
|
sidebar_highlight_text |
Die Textfarbe der hervorgehobenen Zeilen in den Seitenleisten.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu der in Beispiel ansehenjson
|
sidebar_text |
Die Textfarbe der Seitenleisten.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu der in Beispiel ansehenjson
|
tab_background_separator
|
Warnung: Die Farbe des vertikalen Trenners der Hintergrund-Tabs. Beispiel ansehenjson
|
tab_background_text |
Die Farbe des Textes, der in den inaktiven Seitentabs angezeigt wird. Wenn
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu denen bietet, die in Beispiel ansehenjson
|
tab_line |
Die Farbe der ausgewählten Tab-Linie. Beispiel ansehenjson
|
tab_loading |
Die Farbe des Ladeindikators und des Ladeeffekts im Tab. Beispiel ansehenjson
|
tab_selected |
Die Hintergrundfarbe des ausgewählten Tabs. Beim Nichtverwenden wird die Farbe des ausgewählten Tabs durch Beispiel ansehenjson
|
tab_text |
Ab Firefox 59 steht es für die Textfarbe des ausgewählten Tabs. Wenn
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu denen bietet, die in Beispiel ansehenjson
|
toolbar |
Die Hintergrundfarbe für die Navigationsleiste, die Lesezeichenleiste und den ausgewählten Tab. Dies setzt auch die Hintergrundfarbe der "Finden"-Leiste fest. Beispiel ansehenjson
|
toolbar_bottom_separator |
Die Farbe der Linie, die den unteren Rand der Symbolleiste von der darunter liegenden Region trennt. Beispiel ansehenjson
|
toolbar_field |
Die Hintergrundfarbe für Felder in der Symbolleiste, wie die URL-Leiste. Dies setzt auch die Hintergrundfarbe des Im Seitenbereich finden-Feldes fest. Beispiel ansehenjson
|
toolbar_field_border |
Die Rahmenfarbe für Felder in der Symbolleiste. Dies setzt auch die Rahmenfarbe des Im Seitenbereich finden-Feldes fest. Beispiel ansehenjson
|
toolbar_field_border_focus |
Die fokussierte Rahmenfarbe für Felder in der Symbolleiste. Beispiel ansehenjson
|
toolbar_field_focus |
Die fokussierte Hintergrundfarbe für Felder in der Symbolleiste, wie die URL-Leiste. Beispiel ansehenjson
|
toolbar_field_highlight |
Die Hintergrundfarbe, die zur Anzeige der aktuellen Textauswahl in der
URL-Leiste (und der Suchleiste, falls es konfiguriert ist, dass sie separat ist) verwendet wird.
Beispiel ansehenjson
Hier gibt das |
toolbar_field_highlight_text |
Die Farbe, die zum Zeichnen des aktuell ausgewählten Textes in der URL-Leiste (und der Suchleiste, falls es konfiguriert ist, dass sie separat ist) verwendet wird.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu der in Beispiel ansehenjson
Hier wird das |
toolbar_field_separator |
Warnung:
Die Farbe der Separatoren in der URL-Leiste. In Firefox 58 wurde dies
als Beispiel ansehenjson
In diesem Screenshot ist |
toolbar_field_text |
Die Farbe des Textes in Feldern in der Symbolleiste, wie der URL-Leiste. Diese setzt auch die Farbe des Textes im Im Seitenbereich finden-Feld fest.
Hinweis: Stellen Sie sicher, dass die verwendete Farbe einen guten Kontrast zu der in Beispiel ansehenjson
|
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 einen guten Kontrast zu der in Beispiel ansehenjson
|
toolbar_text |
Die Farbe des Textes in der Symbolleiste. Diese setzt auch die Farbe des Textes in der "Finden"-Leiste fest.
Hinweis: Für die Kompatibilität mit Chrome verwenden Sie den Alias
Beispiel ansehenjson
|
toolbar_top_separator |
Die Farbe der Linie, die den oberen Rand der Symbolleiste von der Region darüber trennt. Beispiel ansehenjson
|
toolbar_vertical_separator |
Die Farbe des Trennzeichens in der Lesezeichensymbolleiste. In Firefox 58 entspricht es der Farbe der Trennzeichen in der URL-Leiste. Beispiel ansehenjson
|
Aliase
Zusätzlich akzeptiert dieser Schlüssel verschiedene Eigenschaften, die Aliase für eine der oben genannten Eigenschaften sind. Diese werden für die Kompatibilität mit Chrome bereitgestellt. Wenn ein Alias angegeben ist und die Nicht-Alias-Version ebenfalls angegeben ist, wird der Wert von 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 weniger Einträge als das Wenn nicht angegeben, ist der Standardwert |
additional_backgrounds_tiling |
|
Optional
Ein Array von Enumerationswerten, die definieren, wie das
entsprechende
Wenn das Array weniger Einträge als das Wenn nicht angegeben, ist der Standardwert |
additional_backgrounds_size |
|
Optional
Ein Array von Werten, die die Größe des entsprechenden
Wenn das Array weniger Einträge als das Wenn nicht angegeben, ist der Standardwert |
color_scheme |
|
Optional Bestimmt, welches Farbschema auf das Chrome (zum Beispiel Kontextmenüs) angewendet wird und die Inhalte (zum Beispiel integrierte Seiten und das bevorzugte Farbschema für Webseiten). Optionen umfassen:
Wenn nicht angegeben, ist der Standardwert |
content_color_scheme |
|
Optional
Bestimmt, welches Farbschema auf die Inhalte (zum Beispiel integrierte Seiten und
bevorzugtes Farbschema für Webseiten) angewendet wird. Überschreibt
Wenn nicht angegeben, ist der Standardwert |
Beispiele
Ein einfaches Theme muss ein Bild für den Header hinzufügen, die Akzentfarbe, die im Header verwendet wird, und die Farbe des Textes, der im Header verwendet wird, definieren:
"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 der Firefox-Version 60 verwenden Sie ein leeres oder transparentes Headerbild, 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 auch den Header mit einem wiederholten Bild oder Bildern füllen, in diesem Fall mit einem einzelnen Bild, das in der Mitte des Headers verankert 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 bieten, der so aussieht:

In diesem Screenshot ist "toolbar_vertical_separator" die weiße vertikale Linie in der URL-Leiste, die das Reader-Modus-Symbol von den anderen Symbolen trennt.
Dieses Beispiel (Firefox 153+) mischt Hintergrundbilder mit einem CSS-linearen 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 resultiert in:
background-image1.svg, das oben rechts in seiner natürlichen Größe angezeigt wird.background-image2.svg, das oben links in seiner natürlichen Größe angezeigt wird.- Der
linear-gradient, der sich von oben rechts horizontal über den Header kachelt (repeat-x) und auf 144px in der Höhe dimensioniert ist (die Breite ist automatisch). Der Gradient wechselt von Pink (#FF6BBA) oben zu Pfirsich (#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 am oberen linken Rand des Headers, und wenn das Bild den Header-Bereich 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 das Array-Format als auch das CSS-Farbformat für alle Eigenschaften akzeptiert. Davor erforderten
colors/frameundcolors/tab_background_textdas Array-Format, während für andere Eigenschaften das CSS-Farbformat erforderlich war.































