Zum Inhalt

Styling

Bei der Einbindung von Online-Diensten in Ihre Webseite haben Sie mehrere Möglichkeiten das Design und die Darstellung für Ihre Zwecke anzupassen.

Standard-Design

Ohne Anpassung wird der Online-Dienst in einem auf Barrierefreiheit und Nutzererfahrung optimiertes Frontend ausgeliefert. Es werden automatisch Elemente einspaltig, in einheitlichem Design, für Screenreader optimiert und responsiv aufgrund gegeben Seitenbreite und anderen Faktoren dargestellt. Das Standarddesign ist auf die Primärfarbe #F7A800 (Orange) ausgelegt.

Die notwendigen Dateien und Assets werden von den Ressourcen-Domains automatisch beim Einbinden nachgeladen. Es findet kein Content Flickering statt, da die Laderoutine so optimiert wurde, dass die erzeugten Ansichten nicht mehrstufig beim Benutzer aktualisiert werden müssen.

Manchmal weisen Webseitenhersteller darauf hin, dass bestimmte Iconsets oder Frameworks eingesetzt werden. Eingebettete Assets, beispielsweise Schriftarten, Icons, Hintergrundbilder, werden so geladen und über CSS-Klassen mit den Ansichten verknüpft, dass diese nicht in Konflikt mit den Ressourcen Ihrer Webseite kommen. Daher besteht keine Notwendigkeit, einen Integrationsworkshop zwischen Ihrem Webseitenhersteller und uns zur Einbindung des Standard-Designs zu organisieren.

Weitere Themes mit anderen Grunddesigns und Grundfarben sind zukünftig geplant.

Grunddesign anpassen

Einfache CSS-Regeln, die auf der einbindenden Seite gelten, wie beispielsweise Überschriftenfarben werden automatisch angewendet, weil wir versuchen jedes Design an Komponenten so defensiv wie möglich durchzuführen.

Außerdem haben wir am :root-Element eine Liste an CSS-Variablen (mit Prefix: pmo-) definiert, die die genutzten Einstellungen enthält. Diese Variablen sind nicht prozessspezifisch und nicht klassenabhängig und gelten überall auf der Seite.

Über die Grundkonfiguration können Sie einfache Anpassungen wie Farben, Schriftart, Hintergrundbild, Abstände, Schatten, Border, Schriftgrößen, Highlight-Verhalten, Checkboxdesign, Feldgrößen, Icongrößen konfigurieren. Legen Sie dazu neue Werte am Container oder an bestimmten Klassen oder HTML-Elementen fest. Wir empfehlen, eine gewünschte Liste an Konfigurationswerten für die Klasse pmo-process seitens einbindender Seite auszuliefern, damit diese im gesamten Container gelten.

Liste der globalen CSS-Variablen:

Variable Bedeutung Standard
--pmo-primary-color Primärfarbe #f7a800
--pmo-primary-color-hover Primäre Hoverfarbe #ffac27
--pmo-cta-color-hover Call-To-Action-Hoverfarbe #666
--pmo-danger-color Fehlerfarbe #f00
--pmo-danger-color-light Abgeschwächte Hintergrundfarbe bei Fehlermeldungen #fff0f0
--pmo-danger-color-dark Abgedunkelte Farbe bei Fehlermeldungen #9d2537
--pmo-warning-color Warnfarbe #f5bd00
--pmo-warning-color-light Abgeschwächte Hintergrundfarbe bei Warnmeldungen #fffbef
--pmo-bg Hintergrund des Formulars #e5e5e5
--pmo-inactive-color Farbe für inaktive Elemente #9b9da4
--pmo-field-color Eingabemaskenfarbe #ced4da
--pmo-field-background Eingabenmaske Hintergrundfarbe #fff
--pmo-description-bg Hintergrund der Beschreibung #f9f9f9
--pmo-button-primary Primärbutton linear-gradient( 90deg, #ffb238 0%, #ffc05b 30.21%, #ffcc7b 67.19%, #ffdda6 99.99%, #ffcf83 100% )
--pmo-button-primary-active Aktiver Primärbutton linear-gradient( 144deg, #fcbc32, #f7a800 50%, #fdd491 )
--pmo-button-text-color Textfarbe im Button #212121
--pmo-button-primary-shadow Schattenfarbe von primären Buttons #fdd491
--pmo-button-secondary-shadow Schattenfarbe von sekundären Buttons #e5e5e5
--pmo-button-secondary-border Rahmenfarbe von sekundären Buttons #bababa
--pmo-button-secondary-active Hintergrund von aktiven sekundären Buttons linear-gradient( 144deg, #fff, #e1e1e1 50%, #fff )
--pmo-button-cta-active Farbe von aktiven Call-To-Action-Buttons #595959
--pmo-button-cta Farbe von Call-To-Action-Buttons #737373
--pmo-text-color Textfarbe #52565b
--pmo-bage-text #fff
--pmo-bage-color #737373
--pmo-accordion-line Trennlinienfarbe von Accordion-Elementen #dbdbdb
--pmo-accordion-hover Hoverfarbe von Accordion-Elementen #f9f9f9
--pmo-input-border-color Rahmenfarbe von Eingabemasken #ced4da
--pmo-step-border-color Rahmenfarbe von Schritt-Indikatoren #e5e5e5
--pmo-container-shadow Schatten von abgeschlossenen Formularcontainern 0 0 .5rem 0 #e3e3e3
--pmo-icon-color Iconfarbe #646464dd
--pmo-family-sans-serif Schriftart "Roboto", "Segoe UI", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Open Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif
--pmo-message-text-size Textgröße bei Meldungen .875rem
--pmo-label-size Textgröße von Labels; dies ist die Referenzberechnungsgröße für andere Elemente und Abstände des Online-Dienstes 1rem
--pmo-title-size Textgröße von Schrittüberschriften calc(var(--pmo-label-size) * 1.3)
--pmo-section-title-size Textgröße von Zwischenüberschriften calc(var(--pmo-label-size) * 1.1)
--pmo-description-height Maximale Höhe für die Beschreibung 100rem
--pmo-label-padding Innenabstände von Labels 1.05rem .75rem
--pmo-date-calendar-position Höhenkorrektur des Kalender-Icons in Datumseingaben -.3em
--pmo-field-padding-focus-top Innenabstand (oben) für fokussierte Eingabemasken 1.25rem
--pmo-field-padding-focus-bottom Innenabstand (unten) für fokussierte Eingabemasken .5rem
--pmo-field-border-radius Radius der Rahmenecken für Eingabenmasken .5rem
--pmo-field-border-top Rahmen (oben) von Eingabemasken 1.5px solid
--pmo-field-border-right Rahmen (rechts) von Eingabemasken 1.5px solid
--pmo-field-border-bottom Rahmen (unten) von Eingabemasken 1.5px solid
--pmo-field-border-left Rahmen (links) von Eingabemasken 1.5px solid
--pmo-border-radius Allgemeiner Radius von Rahmenecken .5rem
--pmo-checkbox-margin Außenabstände von Checkboxen .5rem
--pmo-content-space Innenabstand (links) von Schritt-Inhalten 2.5em
--pmo-title-indicator-space Abstand zwischen Schritt-Indikatoren 0 1.2rem
--pmo-component-spacing Allgemeiner Abstand zwischen zwei Komponenten 0
--pmo-button-border Allgemeiner Rahmen von Buttons 1px solid
--pmo-bg-image Hintergrundbild (tatsächliche Ressource wird von Asset-Server unter einer anderen cachbaren URL ausgeliefert) url(assets/background-figure.svg)
--pmo-icon-width Standardbreite von Icons 1em
--pmo-icon-height Standardhöhe von Icons 1em
--pmo-icon-vertical-align Vertikale Höhenkorrektur für Icons -.125em
--pmo-container-spacing Abstand zwischen zwei Formular-Containern 1rem auto
--pmo-language-icon-size Größe des internationalen Icons zur Sprachauswahl 3rem
--pmo-bg-image-check Angezeigtes Bild für gecheckte Checkboxen (tatsächliche Ressource wird von Asset-Server unter einer anderen cachbaren URL ausgeliefert) url(assets/border.svg)
--pmo-bg-min-height Mindesthöhe des Hintergrunds 370px
--pmo-payment-check-padding Innenabstände für Checks in der Bezahlstatusliste 7.5em 2.5em 6.5em
--pmo-payment-check-header-padding Innenabstände für Header in der Bezahlstatusliste 1.25em 1.75em
--pmo-payment-title-size Textgröße für Überschriften in der Bezahlstatusliste 2.25em
--pmo-payment-title-weight Font-Weight für Überschriften in der Bezahlstatusliste 400
--pmo-payment-title-margin Außenabstände für Überschriften in der Bezahlstatusliste 1em 0 1.5em
--pmo-payment-border-color Rahmenfarbe für Elemente der Bezahlstatusliste #696b71
--pmo-payment-box-shadow Schlagschatten für Container der Bezahlstatusliste 0 0 5px .5px var(--pmo-payment-border-color)
--pmo-no-margin Definition für die Verwendung von keinem Außenabstand 0
--pmo-progress-icon-size Größe von Icons am Fortschrittsbalken 4.6875em
--pmo-progress-icon-padding Innenabstände von Icons am Fortschrittsbalken 0 .5em
--pmo-progress-bar-height Höhe des Fortschrittsbalkens 1em
--pmo-progress-bar-margin Außenabstände des Fortschrittsbalkens 0 auto
--pmo-progress-bar-base-color Farbe des Fortschrittsbalkens #f3f3f3
--pmo-progress-bar-load-color Farbe des Fortschrittsbalkens beim Laden #ffb23b
--pmo-step-indicator-size Größe des Schritte-Indikators 1.5em
--pmo-market-map-width 300px
--pmo-market-map-title-weight 400
--pmo-markets-map-width 295px
--pmo-markets-map-height 295px
--pmo-leaflet-popup-content-img-width 200px
--pmo-leaflet-popup-content-img-height 200px
--pmo-markets-map-desktop-width 365px
--pmo-markets-map-desktop-height 365px
--pmo-upload-field-size Mindesthöhe für die Drag-and-Drop-Fläche von Uploads 6.4rem

Spezifische CSS-Regeln ergänzen

Die Einbindung eines Online-Dienstes rendert keinen Shadow-DOM, sondern den HTML-Content direkt in den definierten HTML-Container mit der Prozess-Kennung. Daher haben Sie einige Möglichkeiten, auf das Styling über das Grunddesign hinaus direkten Einfluss zu nehmen.

Beispieleinsatz an CSS-Klassen

Die Komponenten und Teilelemente der Online-Dienste werden mit CSS-Klassen ausgeliefert. Diese sind stets mit pmo- als Prefix ausgeliefert, um Überschneidungen mit Ihrer Webseite zu vermeiden. Wenn Sie das ausgelieferte HTML untersuchen, können Sie feststellen, dass die Komponenten mit zwei Arten von Klassen befüllt sind, den allgemeinen Klassen und den feldspezifischen, beispielsweise hat die Eingabemaske für den Vornamen des Antragstellenden die Klasse pmo-form-control, wie alle Eingabemasken, und zusätzlich pmo-component-applicant-firstname, welche eindeutig im gesamten Formular für Vornamen des Antragstellenden verwendet wird. Analog zu diesem Beispiel sind alle Elemente, auch in geschachtelter Form, deklariert.

Möchten Sie allgemein die Eingabemasken oder Grundelemente einheitlich anpassen, empfehlen wir die CSS-Regeln der allgemeinen Klassen zu überschreiben bzw. zu ergänzen. Möchten Sie beispielsweise alle Hinweistexte umgestalten, könnten Sie die entsprechenden CSS-Regeln zur Klasse pmo-hint hinzufügen.

Viele Felder erhalten außerdem ein id-Attribut. Für das Design empfehlen wir, CSS nicht über die Ids, sondern stets über die Klassen zu definieren. Die Ids werden im JavaScript verwendet, um die Verwendung und Umsetzung bestimmter Formularlogiken zu ermöglichen, und werden unsererseits nicht auf Änderungen am Styling-Standardisierungsvorgehen überwacht. Im Gegensatz dazu achten wir sehr stark darauf, dass verwendete CSS-Klassen nachträglich nicht mehr verändert werden, weil wir wissen, dass Sie ggf. Styling-Anpassungen über diese Klassen angewendet haben.

Vollständiges Redesign

Sie haben die Möglichkeit über die Konfigurationsoption data-prevent-default-css sämtliches Standarddesign abzuschalten und Ihre eigenen CSS-Definitionen einzusetzen. Diese Variante erzeugt den höchsten Aufwand bei Ihren Entwicklern und Integratoren. Sie haben aber auch die volle Kontrolle über das Aussehen jedes Elements.

Wir übernehmen keine Gewährleistung der korrekten Darstellung oder Benutzerführung durch den Online-Dienst bei Anpassungen am Styling, die durch Sie durchgeführt wurden.

Wenden Sie sich bei Fragen an den Support an: pmonline@govconnect.de