Browserstile
Ihre Erweiterung kann Benutzeroberflächenelemente enthalten - Browser- und Seiten-Aktions-Popups, Seitenleisten und Optionsseiten - die wie folgt angegeben werden:
- Erstellen einer HTML-Datei, die die Struktur des UI-Elements definiert.
- Hinzufügen eines Schlüssels in
manifest.json
(action
,browser_action
,page_action
,sidebar_action
oderoptions_ui
), der auf diese HTML-Datei verweist.
Sie können diese Elemente so stylen, dass sie dem Stil des Browsers entsprechen. Die manifest.json
-Schlüssel beinhalten eine optionale Eigenschaft, die dabei hilft: browser_style
. Wenn diese enthalten ist und auf true
gesetzt ist, erhält Ihr Dokument ein oder mehrere zusätzliche Stylesheets, die dazu beitragen, dass es konsistent mit der Benutzeroberfläche des Browsers und anderen Erweiterungen aussieht, die die Eigenschaft browser_style
verwenden.
Hinweis:
Die Unterstützung für browser_style
in Manifest V3 ist veraltet. Ab Firefox 115 ändert sich der Standardwert von options_ui.browser_style
und sidebar_action.browser_style
von true
zu false
. In Firefox 118 wird "browser_style": true
nicht mehr in Manifest V3-Erweiterungen unterstützt.
Wenn Ihre Manifest V3-Erweiterung von den "browser_style": true
-Stilen abhängt, folgen Sie dem Manifest V3-Migrationsleitfaden für browser_style
.
Weitere Informationen finden Sie unter (Firefox-Bug 1827910).
Wenn Sie den Firefox-Stil auf Ihre Erweiterung anwenden möchten, siehe den Firefox-Stilleitfaden.
Überlegen Sie, ob Sie browser_style: true
verwenden sollten und testen Sie Ihre Erweiterung mit verschiedenen Themen (integriert oder von AMO), um sicherzustellen, dass die UI der Erweiterung so funktioniert, wie Sie es erwarten.
Warnung:
Wenn browser_style: true
in das Manifest Ihrer Web-Erweiterung aufgenommen wird, wird die Textauswahl in der Benutzeroberfläche Ihrer Erweiterung außer in Eingabesteuerelementen deaktiviert. Wenn dies ein Problem darstellt, schließen Sie stattdessen browser_style: false
ein.
Hinweis:
Google Chrome und Opera verwenden chrome_style
anstelle von browser_style
in Manifest V2. Für browserübergreifende Erweiterungen müssen Sie also beide Schlüssel hinzufügen. chrome_style
ist in Manifest V3 nicht verfügbar.
In Firefox kann das Stylesheet unter chrome://browser/content/extension.css
eingesehen werden. Das zusätzliche Stylesheet unter chrome://browser/content/extension-mac.css
ist auch unter macOS enthalten.
Die meisten Stile werden automatisch angewendet, aber einige Elemente erfordern, dass Sie die nicht standardmäßige Klasse browser-style
hinzufügen, um deren Styling zu erhalten, wie in der folgenden Tabelle beschrieben:
Element | Beispiel |
---|---|
<button>
|
html
|
html
|
|
<textarea>
|
html
|
Übergeordnetes Element eines
<input>
|
html
|
Manifest V3-Migration
Da browser_style
in Manifest V3 veraltet ist, möchten Sie möglicherweise die Unterstützung entfernen, wenn Sie Ihre Manifest V2-Erweiterungen migrieren. Am Beispiel von options_ui
würden Sie folgende Schritte unternehmen, um die Unterstützung für browser_style
zu entfernen:
- Setzen Sie
options_ui/browser_style
auffalse
. - Ändert sich das Erscheinungsbild der Benutzeroberfläche Ihrer Erweiterung?
- Wenn sich das Erscheinungsbild nicht ändert, entfernen Sie den Schlüssel.
- Wenn sich das Erscheinungsbild ändert, experimentieren Sie, um festzustellen, welche Abhängigkeit besteht, und fügen Sie die relevanten Eigenschaften im Stylesheet der Erweiterung hinzu. Die Stile, die am ehesten Layoutänderungen verursachen, sind
box-sizing:
,border-box
unddisplay: flex
. Wenn Sie die Abhängigkeiten nicht identifizieren können, fügen Sie den Inhalt von extension.css in die Erweiterung ein und löschen alle nicht relevanten Teile, in der Regel diebody
- undbody *
-Blöcke, da die meisten Erweiterungen nicht die Klassebrowser-style
verwenden.
Firefox-Panel-Komponenten (Legacy)
Hinweis: Diese Funktion ist nicht standardisiert und funktioniert nur in Firefox.
Das Stylesheet chrome://browser/content/extension.css
enthält auch die Stile für die veralteten Firefox-Panel-Komponenten (Navigationskomponenten).
Der veraltete Firefox-Stilleitfaden dokumentiert die ordnungsgemäße Verwendung.
Element | Beispiel |
---|---|
Header |
html
|
Footer |
html
|
Tabs |
html
|
Formular |
html
|
Menü |
html
|
Beispiel
HTML
<header class="panel-section panel-section-header">
<div class="icon-section-header"><!-- An image goes here. --></div>
<div class="text-section-header">Header</div>
</header>
<div class="panel-section panel-section-list">
<div class="panel-list-item">
<div class="icon"></div>
<div class="text">List Item</div>
<div class="text-shortcut">Ctrl-L</div>
</div>
<div class="panel-list-item">
<div class="icon"></div>
<div class="text">List Item</div>
<div class="text-shortcut"></div>
</div>
<div class="panel-section-separator"></div>
<div class="panel-list-item disabled">
<div class="icon"></div>
<div class="text">Disabled List Item</div>
<div class="text-shortcut"></div>
</div>
<div class="panel-section-separator"></div>
<div class="panel-list-item">
<div class="icon"></div>
<div class="text">List Item</div>
<div class="text-shortcut"></div>
</div>
<div class="panel-list-item">
<div class="icon"></div>
<div class="text">List Item</div>
<div class="text-shortcut"></div>
</div>
</div>
<footer class="panel-section panel-section-footer">
<button class="panel-section-footer-button">Cancel</button>
<div class="panel-section-footer-separator"></div>
<button class="panel-section-footer-button default">Confirm</button>
</footer>
Ergebnis
Browser-Kompatibilität
>webextensions.manifest.action
Loading…
webextensions.manifest.browser_action
Loading…
webextensions.manifest.page_action
Loading…
webextensions.manifest.sidebar_action
Loading…
webextensions.manifest.options_ui
Loading…