Beispiele für Anpassungen bei Erscheinungsbild / CSS


Auf dieser Seite werden verschiedene Beispiele für das Anpassen des Aussehens von Formularen dargestellt.

Hinweis

Beachten Sie die Angabe der URL auf der linken Seite unter Eigenschaften. Hierbei ist zu beobachten, dass unter Dateien im Designer der Parameter pid verwendet wird. Dies ist die Project-ID. Unter Dateien & Templates > Dateien wird hingegen den Parameter mid verwendet, welcher die Mandant-ID übergibt. Da die Dateien sich in unterschiedlichen Kontexten befinden, ist es notwendig den Parameter je nach Ablageort zu übergeben. Der Parameter name ist immer vorhanden und übergibt die Bezeichnung der Datei, welche abgerufen werden soll.

Einfügen einer Grafik im Formularheader

Für das Einfügen einer Grafik im auf allen Formularseiten sichtbaren Headerbereich des Formulars sollen im folgenden 3 verschiedene Möglichkeiten vorgestellt werden. Die hier gezeigten Beispiele müssen im CSS-Bereich des Designers, in einem Design oder in einer .css-Datei im Formular oder Mandanten eingefügt werden. 

Verwenden eines extern gehosteten Bildes

Um ein extern gehostets (kleines) Logo mittig rechts im Header zu postitionieren, kann der folgende Code als Basis verwendet werden:

.XHeader {
background-image: url('https://beispiel.de/pfad/zum/bild/logo.png'); /* Auswählen des Bildes per URL */
/* Positionierung des Bildes: */
background-size: auto 25px; /* Das Bild hat 25 Pixel Höhe und die Breite wird automatisch passend zum Seitenverhältnis des Bildes ermittelt */
height: 60px; /* Die Höhe des Headers wird auf 60 Pixel festgelegt */
background-repeat: no-repeat; /* Das Bild wird nur einmal angezeigt */
     background-position-x: calc(100% - 30px); /* Das Bild wird 30 Pixel vom rechten Rand positioniert */
     background-position-y: 20px; /* Das Bild wird 20 Pixel vom oberen Rand positioniert */
}

Verwenden einer Mandant- oder Formularressource

Für das Anzeigen eines als Mandantressource (Dateien & Templates > Dateien) hochgeladenen Bilddatei mit dem Namen headerbild.png und über die gesamte Headergröße eines Formulars mit der ID 1234 kann folgender Code verwendet werden:

.XHeader {
background-image: url('../includes/ressource?mid=1234&name=headerbild.png'); /* Auswählen des Bildes per relativer URL zur Formularressource */
/* Positionierung des Bildes: */
background-size: 100% 100%; /* Bild über die gesamte Headergröße zeichnen */
}

Einfügen als Base64-String

Ein als Base64-String kodiertes Bild kann auch einfach im CSS eingefügt werden:

.XHeader {
background-image: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAIAAABv85FHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAA5SURBVBhXdY1LFgAgCAK5/6UNQ6mFzkLj4wuxkxlQDT5MSrue5onbXjKimJTUIr8rurL9Z2u+G4g4ozy8RKSwCIwAAAAASUVORK5CYII=); /* Auswahl eines Bildes per Base64-String*/
/* Positionierung des Bildes: */
background-repeat: no-repeat; /* Das Bild wird nur einmal angezeigt */
     background-position-x: 10px; /* Positionierung in horizontaler Richtung */
     background-position-y: 10px; /* Positionierung in vertikaler Richtung */
background-size: auto 40px; /* Größe des Bildes: 40px hoch und so breit, wie es das Seitenverhältnis des Bildes vorgibt */
height: 60px; /* Gesamthöhe des Formularheaders */
}

Die weiteren CSS dienen zur Positionierung des Bildes und zum Festelgen der Höhe des Headers.

Zu beachten ist hierbei, dass bei der Einbindung des Bildes als base64-String bei jedem Aufruf des Formulars das Bild erneut mitübertragen wird, da die Cachingmechanismen der Webbrowser für Dateien hier nicht greifen.

Anpassungen des Schriftbildes

Um allgemein für alle Elemente im Formular die Eigenschaften der Schriftart festzulegen, kann bei Verwendung des Modern Themes folgender CSS-Code als Grundlage genommen werden:

.xm-form.modern *, .modern .XPage * { /* Selektiert das gesamte Formular und alle Formularseiten*/
font-family: Verdana; /* Setzt die Default-Schriftart. */
}

Für Labels und Text in Eigabefeldern müssen die Schriftgrößen und Farben gegebenenfalls noch angepasst werden. Dies kann beispielsweise wie folgt erreicht werden:

.modern .xm-item-div LABEL {
font-size: 14px; /* Setzt die Schriftgröße. */
color: #111; /* Setzt die Schriftfarbe. */
}

Hinzufügen einer eigenen Schriftart

Um eine neue Schriftart hinzuzufügen, muss diese entweder im Formular unter Mehr > Dateien im Format woff, woff2 und ttf hochgeladen werden. Wenn die Schriftart allgemein zum Einsatz kommt, dann sollte diese stattdessen unter Dateien & Templates > Dateien abgelegt werden. Dadurch werden die Schriftarten erstmal generell bereitgestellt.

Anschließend kann die Schriftart im CSS-Code eines Formulars eingebunden und verwendet werden.

In dem folgenden Beispiel sind die Schriftarten unter Dateien & Templates > Dateien hinterlegt, zu erkennen an dem Parameter mid (siehe Hinweis). Bei einer Ressource im Formular unter Dateien wird Parameter pod verwendet. Die URLs zu den Schriftarten müssen Sie noch anpassen nach der Übernahme. Die absolute URL finden Sie rechts im Eigenschaftsbereich.

@font-face {
font-family: 'myfont';
src: url('../includes/ressource?mid=8104&name=Roboto-Regular.woff2') format('woff2'),
 url('../includes/ressource?mid=8104&name=Roboto-Regular.woff') format('woff'),
 url('../includes/ressource?mid=8104&name=Roboto-Regular.ttf') format('ttf');
font-weight:  normal;
font-style:  normal;
}

.modern .XHeader * {
font-family: 'myfont';
}

Es reicht nicht aus nur ein font-face zu definieren. Die neue Schriftart muss dann noch als font für den entsprechenden Abschnitt hinterlegt werden. In diesem Beispiel wird nun im Kopfbereich die neue Schriftart angewendet. Prüfen Sie dies ggf. noch über den Browser Inspector (F12).

Anpassen des Favicons

/xwiki/bin/download/Examples/FormStylingAdjustments/designer_favicon_meta_de.png?rev=1.1

Im Xima® Formcycle-Designer im Metabereich kann der Link auf ein anderes Favicon definiert werden.

Um in einem Formular das Favicon zu verändern, kann im Xima® Formcycle-Designer im Meta-Bereich die Position des zu verwendenen Bildes angegeben werden. Dies erfolgt nach folgendem Muster:

<link rel="shortcut icon" type="image/png" href="https://beispiel.de/pfad/zum/bild/favicon.png" />

Für ein Base64-Codiertes Bild erfolgt eine Einbindung analog:

<link rel="shortcut icon" type="image/png" href="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAIAAABv85FHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAA5SURBVBhXdY1LFgAgCAK5/6UNQ6mFzkLj4wuxkxlQDT5MSrue5onbXjKimJTUIr8rurL9Z2u+G4g4ozy8RKSwCIwAAAAASUVORK5CYII=" />

Wenn das mehrere Favicons mit unterschiedlichen Größen als Formularressource unter Dateien hochgeladen wurde, könnte der entsprechende Code für ein Formular mit der ID 1234 und einer Größe von 16 mal 16 und 32 mal 32 Pixeln wie folgt aussehen:

<link rel="shortcut icon" type="image/png" sizes="16x16" href="../includes/ressource?pid=1234&name=favicon16.png" />
<link rel="shortcut icon" type="image/png" sizes="32x32" href="../includes/ressource?pid=1234&name=favicon32.png" />

Anpassung Abstand Fieldset nach oben

Beim Modern Theme sind standardmäßig die Abstände zu den oberen Elementen recht groß. Dies kann durch folgenen CSS-Code angepasst werden:

.modern .CXFieldSet .XFieldSetWrapper {
margin-top: 5px;
}

Anpassung Hintergrundfarbe Fieldset

Um den Hintergrund eines Fieldsets komplett einzufärben, muss beachtet werden auch das legend-Element zu berücksichtigen.

.modern .CXFieldSet .XFieldSetWrapper, .modern .XFieldSet legend {
background-color: lightsteelblue;
width: 100%;
}

Anpassung Seitenabstand

Die CSS-Klasse XPage legt die Abstände einer Seite fest. Dabei bestimmt der erste Wert den Abstand für oben/unten, der zweite Wert den Abstand für rechts/links:

.modern .XPage {
padding: 25px 25px;
}