theme
| Typ | Object |
|---|---|
| Erforderlich | Nein |
| Manifest-Version | 2 oder höher |
| Beispiel |
json |
Verwenden Sie den Schlüssel theme, um ein statisches Theme für Firefox zu definieren. Wenn dieser Schlüssel allein angegeben wird, definiert er das Theme, das Firefox sowohl beim hellen als auch beim dunklen Farbschema verwendet. Wenn der Schlüssel dark_theme angegeben ist, definiert theme das Theme für das helle Farbschema.
Hinweis:
Wenn Sie ein Theme in eine Erweiterung einbinden möchten, lesen Sie die Dokumentation zur theme-API.
Hinweis: Seit Mai 2019 müssen Themes signiert sein, damit sie installiert werden können (Firefox-Bug 1545109). Weitere Informationen finden Sie unter Signieren und Verteilen Ihres Add-ons.
Bildformate
Die folgenden Bildformate werden für alle Bild-Eigenschaften von Themes unterstützt:
- JPEG
- PNG
- APNG
- SVG (animiertes SVG wird ab Firefox 59 unterstützt)
- GIF (animiertes GIF wird nicht unterstützt)
Syntax
Der Schlüssel theme ist ein Objekt mit den folgenden Eigenschaften:
| Name | Typ | Beschreibung |
|---|---|---|
images |
Object |
Ab Firefox 60 optional. Vor Firefox 60 erforderlich.
Ein JSON-Objekt, dessen Eigenschaften die Bilder darstellen, die in
verschiedenen Bereichen des Browsers angezeigt werden. Einzelheiten
zu den möglichen Eigenschaften dieses Objekts finden Sie unter
|
colors |
Object |
Erforderlich
Ein JSON-Objekt, dessen Eigenschaften die Farben verschiedener
Bereiche des Browsers darstellen. Einzelheiten zu den möglichen
Eigenschaften dieses Objekts finden Sie unter
|
properties |
Object |
Optional
Dieses Objekt enthält Eigenschaften, die beeinflussen, wie die
Elemente von |
images
Alle URLs sind relativ zur Datei manifest.json und dürfen nicht auf eine externe URL verweisen.
Bilder sollten 200 Pixel hoch sein, damit sie den Header-Bereich vertikal immer vollständig ausfüllen.
| Name | Typ | Beschreibung |
|---|---|---|
theme_frame |
String oder Object |
Ein Vordergrundbild (angegeben durch den Pfad zu einer in der Erweiterung enthaltenen Bilddatei) oder ein CSS-Farbverlauf, das bzw. der dem Header-Bereich hinzugefügt und an dessen oberer rechter Ecke ausgerichtet wird. CSS-Farbverläufe werden ab Firefox 153 unterstützt. Hinweis: Chrome richtet das Bild an der oberen linken Ecke des Headers aus und wiederholt es, wenn es den Header-Bereich nicht vollständig ausfüllt. Ab Firefox 60 auf Desktop-Geräten optional. |
additional_backgrounds |
Array aus String oder Object |
Warnung: Die Eigenschaft
Ein Array zusätzlicher Hintergründe, bei denen es sich jeweils
entweder um den Pfad zu einer in der Erweiterung enthaltenen
Bilddatei oder um einen CSS-Farbverlauf
handelt. Sie werden dem Header-Bereich hinzugefügt und hinter dem
Element Optional
Standardmäßig werden alle Elemente an der oberen rechten Ecke des
Header-Bereichs ausgerichtet. Ihre Ausrichtung, ihr
Wiederholungsverhalten und ihre Größe sowie der Bereich des
Browserfensters, in dem sie gezeichnet werden, lassen sich jedoch
über
Da zusätzliche Hintergründe hinter dem Element
|
Syntax für CSS-Farbverläufe
Ein CSS-Farbverlauf wird als Objekt in der Form { "GRADIENT_TYPE": "GRADIENT_PARAMS" } angegeben. Dabei gilt:
GRADIENT_TYPEist einer der folgenden Werte:linear-gradientradial-gradientconic-gradientrepeating-linear-gradientrepeating-radial-gradientrepeating-conic-gradient
GRADIENT_PARAMSenthält die Parameter für die jeweilige CSS-Farbverlaufsfunktion, wie unter CSS-Farbverlaufswerte beschrieben.
colors
Diese Eigenschaften definieren die Farben verschiedener Bereiche des Browsers. Sie sind alle optional. Wie sich diese Eigenschaften auf die Firefox-Benutzeroberfläche auswirken, zeigt die folgende Abbildung:
|
|
Hinweis: Wenn mehrere Farbeigenschaften eine Komponente beeinflussen, sind die Eigenschaften in der Reihenfolge ihrer Priorität aufgeführt.
Alle diese Eigenschaften können entweder als Zeichenfolge mit einem gültigen CSS-Farbwert (einschließlich Hexadezimalwerten) oder als RGB-Array angegeben werden, beispielsweise "tab_background_text": [ 107 , 99 , 23 ].
| Name | Beschreibung |
|---|---|
bookmark_text |
Die Farbe von Text und Symbolen in der Lesezeichenleiste und der
Suchleiste. Wenn
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu den Farben von
Wenn Beispiel anzeigenjson
|
button_background_active |
Die Hintergrundfarbe gedrückter Schaltflächen in der Symbolleiste. Beispiel anzeigenjson
|
button_background_hover |
Die Hintergrundfarbe von Schaltflächen in der Symbolleiste beim Darüberfahren mit dem Mauszeiger. Beispiel anzeigenjson
|
icons |
Die Farbe der Symbolleistensymbole, ausgenommen die Symbole in der Suchleiste.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu den Farben von Beispiel anzeigenjson
|
icons_attention |
Die Farbe von Symbolleistensymbolen im Aufmerksamkeitszustand, etwa des Sternsymbols für Lesezeichen oder des Symbols für einen abgeschlossenen Download.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu den Farben von Beispiel anzeigenjson
|
frame |
Die Hintergrundfarbe des Header-Bereichs. Sie wird in den Teilen des
Headers angezeigt, die nicht von den in Beispiel anzeigenjson
|
frame_inactive |
Die Hintergrundfarbe des Header-Bereichs, wenn das Browserfenster
inaktiv ist. Sie wird in den Teilen des Headers angezeigt, die nicht
von den in Beispiel anzeigenjson
|
ntp_background |
Die Hintergrundfarbe der Seite „Neuer Tab“. Beispiel anzeigenjson
|
ntp_card_background |
Die Hintergrundfarbe der Karten auf der Seite „Neuer Tab“. Beispiel anzeigenjson
|
ntp_text |
Die Textfarbe der Seite „Neuer Tab“.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu den Farben von
Beispiel anzeigenjson
|
popup |
Die Hintergrundfarbe von Popups, beispielsweise des Dropdown-Menüs der URL-Leiste und der Pfeil-Panels. Beispiel anzeigenjson
|
popup_border |
Die Rahmenfarbe von Popups. Beispiel anzeigenjson
|
popup_highlight |
Die Hintergrundfarbe von Elementen, die innerhalb von Popups per Tastatur hervorgehoben werden, beispielsweise eines ausgewählten Eintrags im Dropdown-Menü der URL-Leiste.
Hinweis: Es wird empfohlen,
Beispiel anzeigenjson
|
popup_highlight_text |
Die Textfarbe hervorgehobener Elemente innerhalb von Popups.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
|
popup_text |
Die Textfarbe von Popups.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
|
sidebar |
Die Hintergrundfarbe der Sidebar. Beispiel anzeigenjson
|
sidebar_border |
Die Farbe des Rahmens und der Trennlinie der Browser-Sidebar. Beispiel anzeigenjson
|
sidebar_highlight |
Die Hintergrundfarbe hervorgehobener Zeilen in integrierten Sidebars. Beispiel anzeigenjson
|
sidebar_highlight_text |
Die Textfarbe hervorgehobener Zeilen in Sidebars.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
|
sidebar_text |
Die Textfarbe von Sidebars.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
|
tab_background_separator
|
Warnung: Die Farbe der vertikalen Trennlinie zwischen inaktiven Tabs. Beispiel anzeigenjson
|
tab_background_text |
Die Textfarbe in inaktiven Tabs. Wenn
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
|
tab_line |
Die Farbe der Linie des ausgewählten Tabs. Beispiel anzeigenjson
|
tab_loading |
Die Farbe der Ladeanzeige und der Ladeanimation des Tabs. Beispiel anzeigenjson
|
tab_selected |
Die Hintergrundfarbe des ausgewählten Tabs. Wenn diese Eigenschaft
nicht verwendet wird, bestimmen Beispiel anzeigenjson
|
tab_text |
Ab Firefox 59 definiert diese Eigenschaft die Textfarbe des
ausgewählten Tabs. Wenn
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
|
toolbar |
Die Hintergrundfarbe der Navigationsleiste, der Lesezeichenleiste und des ausgewählten Tabs. Sie legt auch die Hintergrundfarbe der Suchleiste fest. Beispiel anzeigenjson
|
toolbar_bottom_separator |
Die Farbe der Linie, die den unteren Rand der Symbolleiste vom darunterliegenden Bereich trennt. Beispiel anzeigenjson
|
toolbar_field |
Die Hintergrundfarbe von Feldern in der Symbolleiste, beispielsweise der URL-Leiste. Sie legt auch die Hintergrundfarbe des Felds Auf dieser Seite suchen fest. Beispiel anzeigenjson
|
toolbar_field_border |
Die Rahmenfarbe von Feldern in der Symbolleiste. Sie legt auch die Rahmenfarbe des Felds Auf dieser Seite suchen fest. Beispiel anzeigenjson
|
toolbar_field_border_focus |
Die Rahmenfarbe fokussierter Felder in der Symbolleiste. Beispiel anzeigenjson
|
toolbar_field_focus |
Die Hintergrundfarbe fokussierter Felder in der Symbolleiste, beispielsweise der URL-Leiste. Beispiel anzeigenjson
|
toolbar_field_highlight |
Die Hintergrundfarbe, mit der aktuell ausgewählter Text in der
URL-Leiste markiert wird (und in der Suchleiste, falls diese als
separates Feld konfiguriert ist).
Beispiel anzeigenjson
Hier legt das Feld |
toolbar_field_highlight_text |
Die Farbe von aktuell ausgewähltem Text in der URL-Leiste (und in der Suchleiste, falls diese als separates Feld konfiguriert ist).
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
Hier setzt das Feld |
toolbar_field_separator |
Warnung:
Die Farbe von Trennlinien innerhalb der URL-Leiste. In Firefox 58
wurde dies über Beispiel anzeigenjson
In diesem Screenshot ist |
toolbar_field_text |
Die Textfarbe in Feldern der Symbolleiste, beispielsweise in der URL-Leiste. Sie legt auch die Textfarbe im Feld Auf dieser Seite suchen fest.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
|
toolbar_field_text_focus |
Die Textfarbe in fokussierten Feldern der Symbolleiste, beispielsweise in der URL-Leiste.
Hinweis: Achten Sie darauf, dass die verwendete
Farbe einen guten Kontrast zu Beispiel anzeigenjson
|
toolbar_text |
Die Textfarbe der Symbolleiste. Sie legt auch die Textfarbe der Suchleiste fest.
Hinweis: Verwenden Sie für die Kompatibilität
mit Chrome den Alias Beispiel anzeigenjson
|
toolbar_top_separator |
Die Farbe der Linie, die den oberen Rand der Symbolleiste vom darüberliegenden Bereich trennt. Beispiel anzeigenjson
|
toolbar_vertical_separator |
Die Farbe der Trennlinie in der Lesezeichen-Symbolleiste. In Firefox 58 entspricht sie der Farbe von Trennlinien innerhalb der URL-Leiste. Beispiel anzeigenjson
|
Aliase
Dieser Schlüssel akzeptiert außerdem verschiedene Eigenschaften als Aliase für die oben aufgeführten Eigenschaften. Sie dienen der Kompatibilität mit Chrome. Wenn sowohl ein Alias als auch die zugehörige Eigenschaft angegeben werden, wird der Wert der Eigenschaft und nicht der des Alias verwendet.
| Name | Alias für |
|---|---|
bookmark_text |
toolbar_text |
properties
| Name | Typ | Beschreibung |
|---|---|---|
additional_backgrounds_alignment |
|
Optional
Ein Array von Aufzählungswerten, die die Ausrichtung des jeweiligen
Elements im Array
Enthält das Array weniger Elemente als das Array
Ohne Angabe gilt standardmäßig |
additional_backgrounds_tiling |
|
Optional
Ein Array von Aufzählungswerten, die festlegen, wie das jeweilige
Element im Array
Enthält das Array weniger Elemente als das Array
Ohne Angabe gilt standardmäßig |
additional_backgrounds_size |
|
Optional
Ein Array von Werten, die die Größe des jeweiligen Elements im
Array
Enthält das Array weniger Elemente als das Array
Ohne Angabe gilt standardmäßig |
backgrounds_area |
|
Optional Bestimmt den Bereich des Browserfensters, in dem die Hintergrundbilder und -farbverläufe des Themes gezeichnet werden. Mögliche Werte sind:
Ohne Angabe gilt standardmäßig |
color_scheme |
|
Optional Bestimmt, welches Farbschema auf die Browseroberfläche (beispielsweise Kontextmenüs) und Inhalte (beispielsweise integrierte Seiten und das bevorzugte Farbschema für Webseiten) angewendet wird. Mögliche Werte sind:
Ohne Angabe gilt standardmäßig |
content_color_scheme |
|
Optional
Bestimmt, welches Farbschema auf Inhalte angewendet wird
(beispielsweise integrierte Seiten und das bevorzugte Farbschema
für Webseiten). Überschreibt
Ohne Angabe gilt standardmäßig |
Beispiele
Ein einfaches Theme muss ein Bild für den Header, eine Akzentfarbe für den Header und eine Farbe für den dort angezeigten Text definieren:
"theme": {
"images": {
"theme_frame": "images/sun.jpg"
},
"colors": {
"frame": "#CF723F",
"tab_background_text": "black"
}
}
Der Header kann mit mehreren Elementen gefüllt werden. Verwenden Sie vor Firefox 60 ein leeres oder transparentes Header-Bild, um die Position der einzelnen zusätzlichen Elemente steuern zu können:
"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 oder mehreren wiederholten Bildern füllen. Im folgenden Fall wird ein einzelnes Bild oben mittig im Header ausgerichtet und über den restlichen Header wiederholt:
"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"
}
}
Damit erhalten Sie einen Browser, der so aussieht:

In diesem Screenshot ist "toolbar_vertical_separator" die weiße vertikale Linie in der URL-Leiste, die das Symbol für den Lesemodus von den anderen Symbolen trennt.
Dieses Beispiel (Firefox 153+) kombiniert Bildhintergründe mit einem linearen CSS-Farbverlauf:
"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"]
}
}
Das Ergebnis:
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 angezeigt, horizontal über den Header wiederholt (repeat-x) und auf eine Höhe von 144px skaliert (die Breite wird automatisch bestimmt). Der Farbverlauf geht oben von Rosa (#FF6BBA) nach unten zu Pfirsichfarben (#FFC999) über.
Dieses Beispiel (Firefox 156+) beschränkt den Hintergrundfarbverlauf auf die horizontalen Symbolleisten am oberen Fensterrand, sodass er sich nicht hinter die Sidebar oder vertikale Tabs erstreckt. Ohne backgrounds_area bewirkt die Ausrichtung "right top", dass Firefox den Farbverlauf im gesamten 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"
}
}
Wenn backgrounds_area auf "top_toolbars" gesetzt ist, verwendet die Sidebar die Farbe frame. Wenn Sie backgrounds_area stattdessen auf "window" setzen, wird der Farbverlauf im gesamten Fenster gezeichnet, auch hinter der Sidebar.
Browser-Kompatibilität
Chrome-Kompatibilität
In Chrome gilt:
-
colors/toolbar_textwird nicht verwendet. Verwenden Sie stattdessencolors/bookmark_text. -
images/theme_framerichtet das Bild an der oberen linken Ecke des Headers aus und wiederholt es, wenn es den Header-Bereich nicht vollständig ausfüllt. -
Alle Farben müssen als Array von RGB-Werten angegeben werden, beispielsweise so:
json"theme": { "colors": { "frame": [255, 0, 0], "tab_background_text": [0, 255, 0], "bookmark_text": [0, 0, 255] } }Ab Firefox 59 werden für alle Eigenschaften sowohl die Array-Form als auch CSS-Farbwerte akzeptiert. Davor erforderten
colors/frameundcolors/tab_background_textdie Array-Form, während andere Eigenschaften CSS-Farbwerte erforderten.































