Doku

Tippe ein Stichwort. Mit Esc schließt du die Suche.

EN
Anmelden Kostenlos starten
Handbuch/Nachschlagen

Statusseiten-CSS

Die Haken, auf die sich dein eigenes CSS über Versionen hinweg verlassen kann. Alles, was hier fehlt, kann sich ohne Ankündigung ändern.

Dein CSS trägst du unter Erweitert in Eigenes CSS ein. Nutze den Editor überall, wo er ein Feld hat: Logo, Akzentfarbe, Kopfzeilenfarbe für hell und dunkel, Hintergrund und Thema stellst du dort ein, und der Editor leitet daraus lesbare Textfarben ab. CSS ist für alles, was der Editor nicht kann. Wie du die Seite anlegst, steht unter Statusseite veröffentlichen.

So wird es angewendet

Dein CSS steht in einem Style-Element auf der Seite, nach dem Stylesheet des Layouts, deshalb gewinnt bei gleicher Spezifität deine Regel. Nichts begrenzt es für dich: Selektoren erreichen das ganze Seitendokument, beginne sie also mit .sp. Die Regeln der Layouts sind schlicht und mit Klassenpräfix geschrieben (.sp .sp-…), schreibe deine genauso, nicht kürzer. Den dunklen Modus erkennst du an der Klasse dark am Dokumentelement: dafür schreibst du .dark .sp ….

CSS aus der Zeit vor den Layouts (Oktober 2026) zielt auf Markup, das es nicht mehr gibt, und muss gegen diese Haken neu geschrieben werden.

Attribute am Wurzelelement

Das Element .sp trägt diese Attribute, alle Werte sind stabil. Statuselemente tragen data-s.

AttributWerteWas es dir sagt
data-layout essential, brand, overview Das Layout der Seite.
data-surface open, cards Offenes Papier mit Haarlinien (Essential) oder Karten (Brand, Overview).
data-state ok, warn, down, idle Der Gesamtzustand der Seite.
data-ground paper, white, cool Der gewählte Hintergrund.
data-head brand Nur vorhanden, wenn für das aktuelle Thema eine Kopfzeilenfarbe gesetzt ist.
data-tv – Vorhanden (leer) in der TV-Ansicht.
data-s up, ok, degraded, warn, down, maintenance, stale, idle Der Zustand eines Statuselements wie einer Dienstzeile oder einer Meldung.

Blöcke, die du ansprechen kannst

Nur diese Blöcke sind dokumentiert. Ihr innerer Aufbau ist es nicht.

KlasseWas es istLayouts
.sp-head Kopfband: Logo oder Name, Sprache, Benachrichtigen-Knopf. alle
.sp-logo Dein Logobild. alle
.sp-ident-name Der Firmenname, wenn es kein Logo gibt. alle
.sp-btn, .sp-btn-head, .sp-btn-accent Knöpfe. Die Kopf-Variante sitzt in der Kopfzeile, die Akzent-Variante nutzt die Akzentfarbe. alle; Kopf-Variante: Essential, Overview
.sp-state Die Antwort auf „läuft alles?“: Überschrift, Zeichen und Metazeile. alle
.sp-counts Anzahl je Zustand im Antwortstreifen. Overview
.sp-msg Ein offener Vorfall oder eine laufende Wartungsmeldung. alle
.sp-note Die Ankündigung. alle
.sp-maint Ein geplanter Wartungseintrag. alle
.sp-card Das Feld um die geplanten Wartungseinträge. Brand, Overview
.sp-group, .sp-group-head, .sp-group-sum Eine Gruppe von Diensten, ihr Titel und ihre Summe. alle; Summe: Overview
.sp-svc Eine Dienstzeile. alle
.sp-svc-name Der Dienstname. alle
.sp-svc-word Der Zustand in Worten. alle (Overview blendet es bei laufenden Diensten aus)
.sp-svc-uptime Die Verfügbarkeit oder in der Antwortzeit-Ansicht die letzte Antwortzeit. alle
.sp-svc-bar Der Verfügbarkeitsbalken. alle
.sp-svc-note Erklärung, Quelle und Aktualität einer Zeile. alle
.sp-svc-ext Der Chip „Extern“. alle
.sp-switch, .sp-range Der Umschalter Verfügbarkeit und Antwortzeit sowie der Umschalter für 30, 60 und 90 Tage. alle; Overview hat keinen Zeitraum-Umschalter
.sp-past, .sp-cal Der Verlaufsblock, eingeklappt bis zum Öffnen, und sein Vorfallskalender. alle
.sp-sub Das Feld zum Abonnieren. alle
.sp-foot Die Fußzeile. alle

Variablen, die du überschreiben darfst

Alle sind benutzerdefinierte Eigenschaften an .sp. Standardwerte stehen erst für hell, dann für dunkel. Variablen, die der Editor setzt, ersetzt er durch deine Wahl dort. Änderst du einen Hintergrund, ändere auch den Text darauf: Kontrast prüft für CSS niemand nach.

VariableBedeutungStandardVom Editor gesetzt
--sp-bg Seitenhintergrund. Papier #FAF9F5 · #17181A; weiß #FFFFFF · #0F1011; kühl #F3F4F6 · #14161A Nein
--sp-surface Karten und Felder. #FFFFFF · #1F2023 Nein
--sp-ink Text. #141415 · #EEEBE3 Nein
--sp-ink-2, --sp-rule, --sp-rule-2, --sp-sunk Zweittext, Haarlinien, kräftige Haarlinien und vertiefte Flächen. Jede ist eine Mischung aus Textfarbe und Hintergrund und folgt ihm von selbst. abgeleitet Nein
--sp-accent Akzentfüllung für Knöpfe. #28479E · #7A9BFF Ja
--sp-on-accent Text auf dem Akzent. #FFFFFF · #101112 Ja
--sp-accent-ink Akzent als Link- und Fokustext. #28479E · #7A9BFF Ja
--sp-head Fläche der Kopfzeile. der Seitenhintergrund Ja
--sp-on-head Text auf der Kopfzeile. die Textfarbe Ja
--sp-on-head-2 Zweittext auf der Kopfzeile. abgeleitet Ja
--sp-head-rule Haarlinien in der Kopfzeile. abgeleitet Nein

Lesen, aber nicht ändern darfst du --sp-ok, --sp-warn, --sp-warn-fill, --sp-down, --sp-idle. Statusfarben sind mit Absicht fest: Grün, Gelb und Rot bedeuten auf jeder Seite dasselbe, und der Kontrast der Layouts wurde nur mit den Standardwerten geprüft.

Wenn deine Variable nicht greift

  • Der Editor setzt einige Variablen als Inline-Stil an .sp: die Akzentvariablen, wenn eine Akzentfarbe gesetzt ist, die der Kopfzeile, wenn eine Kopfzeilenfarbe gesetzt ist. Eine einfache .sp-Regel verliert gegen einen Inline-Stil. Lass diese Farbe im Editor leer, deklariere die Variable an einem inneren Element wie im ersten Beispiel oder ergänze !important, das einen Inline-Wert schlägt.
  • Der dunkle Modus setzt die Farbvariablen mit .dark .sp neu, das ist spezifischer als .sp. Für einen dunklen Wert schreibst du .dark .sp oder nutzt !important.
  • Abgeleitete Variablen folgen deiner Änderung nur, wenn du die Basisvariable an dem Element deklarierst, an dem sie berechnet werden, also an .sp. Eine Variable, die du an einem inneren Element neu deklarierst, leitet die anderen nicht neu ab: setze sie mit.
  • Die Logodatei richtet sich nach der Kopfzeilenfarbe im Editor und nach dem Thema, nicht nach deinem CSS. Machst du die Kopfzeile per CSS dunkel, lade ein Logo hoch, das darauf passt, oder setze die Kopfzeilenfarbe im Editor, der auch die richtige Logodatei wählt.
.sp { --sp-accent: #B3261E !important; --sp-on-accent: #FFFFFF !important; --sp-accent-ink: #B3261E !important; }

Beispiele

Alle drei liefen gegen das aktuelle Stylesheet bei 1440 und 375 px, hell und dunkel, in allen drei Layouts: Kopfzeilenfarben, kein horizontales Überlaufen.

Eine marineblaue Kopfzeile in beiden Themen

Deklariere die Variablen an der Kopfzeile selbst: Das schlägt den Inline-Stil und das Stylesheet. Text-, Zweittext- und Linienfarbe setzt du mit, weil sie dort nicht neu abgeleitet werden.

.sp .sp-head { --sp-head: #14304F; --sp-on-head: #FFFFFF; --sp-on-head-2: #C5D0DE; --sp-head-rule: #3B5576; }
.dark .sp .sp-head { --sp-head: #0E2238; }

Die Verfügbarkeit ausblenden

Balken und Worte bleiben. In der Antwortzeit-Ansicht trägt dasselbe Element die letzte Antwortzeit, die wird also mit ausgeblendet.

.sp .sp-svc-uptime { display: none; }

Engere Ecken an den Karten

Brand und Overview zeichnen ihre Radien als feste Längen, überschreibe also die Kartenblöcke.

.sp[data-surface="cards"] :is(.sp-group, .sp-msg, .sp-note, .sp-card, .sp-past, .sp-sub, .sp-state) { border-radius: 4px; }

Was nicht zugesichert ist

  • Verschachtelung und Tag-Namen innerhalb der Blöcke oben. Aus einem span kann ein div werden.
  • Jede sp-*-Klasse und --sp-*-Variable, die nicht aufgeführt ist, etwa Layoutbreite, Radius- und Schattenwerte und jeder nicht genannte Teil einer Dienstzeile, Meldung, Historie, eines Kalenders oder Abo-Blocks.
  • Pixelmaße, Abstände, Radien und Schriftgrößen. Es gibt keine Radius-Variable.
  • Reihenfolge und Vorhandensein der Blöcke und welches Layout welchen Teil zeigt.
  • Die Vorschaubilder und Beispieldaten im Editor.

Was up4 hier nicht macht

  • Kein Skript. Eigenes JavaScript wird abgelehnt, und die Sicherheitsrichtlinie der Seite erlaubt Skripte nur von der eigenen Adresse der Seite.
  • up4 prüft nur die Größe (höchstens 64 KiB), gültiges UTF-8, kein NUL-Byte und kein schließendes Style-Tag. Dein CSS wird nicht umgeschrieben, gekürzt oder geparst.
  • Den Rest begrenzt der Browser. Ein @import oder @font-face von einem anderen Host wird blockiert, also keine Webfont-Dienste: Binde die Schrift als Data-Adresse ein oder verzichte darauf. Bilder laden von sicheren Adressen und Data-Adressen.
  • Das CSS gilt nur für eine Statusseite. Es erreicht weder die App noch andere Seiten noch das Banner auf deiner eigenen Website.
  • Die Zugangssperre mit Passwort und E-Mail-Code, die Ansicht „Abo bestätigt“ und die Abmeldeansicht zeigen die Marke der Seite, laden aber nie dein CSS: Sie werden Menschen gezeigt, die die Seite vielleicht nicht sehen dürfen.
  • CSS kann Blöcke weder hinzufügen noch entfernen noch umsortieren und macht aus einem Layout kein anderes. Ein Block mit display: none ist für alle weg, auch für Nutzer von Screenreadern.
Per API PUT /v1/status-pages/{pageID}
In der AppAPI-Feld
Eigenes CSScustom_css

Vollständige Referenz (Englisch)