Ab Version 9.0 verwenden Gantt-Skins CSS-Variablen, was die Anpassung und das Styling erleichtert.
Related sample: Change skin dynamically
Wichtige CSS-Variablen:
:root {
--dhx-gantt-theme: terrace;
--dhx-gantt-font-family: Inter, Helvetica, Arial, sans-serif;
--dhx-gantt-font-size: 14px;
--dhx-gantt-base-colors-white: #FFFFFF;
--dhx-gantt-base-colors-select: #EFF3FF;
--dhx-gantt-base-colors-hover-color: #e0e0e0;
--dhx-gantt-base-colors-border-light: #F0F0F0;
--dhx-gantt-base-colors-border: #DFE0E1;
--dhx-gantt-base-colors-icons: #A1A4A6;
--dhx-gantt-base-colors-disabled: #E9E9E9;
--dhx-gantt-base-colors-select: #E0E5F3;
--dhx-gantt-base-colors-text-light: #555D63;
--dhx-gantt-base-colors-text-base: #23272A;
--dhx-gantt-base-colors-text-on-fill: rgba(255, 255, 255, 0.90);
--dhx-gantt-base-colors-background: #FFFFFF;
--dhx-gantt-base-colors-background-alt: #F2F2F2;
--dhx-gantt-base-colors-primary: #537CFA;
--dhx-gantt-base-colors-warning: #FAB936;
--dhx-gantt-base-colors-error: #E3334E;
--dhx-gantt-base-colors-success: #1BC297;
--dhx-gantt-container-background: var(--dhx-gantt-base-colors-background);
--dhx-gantt-container-color: var(--dhx-gantt-base-colors-text-base);
--dhx-gantt-offtime-background: var(--dhx-gantt-base-colors-background-alt);
--dhx-gantt-scale-background: var(--dhx-gantt-container-background);
--dhx-gantt-scale-border-vertical: 1px solid var(--dhx-gantt-base-colors-border-light);
--dhx-gantt-scale-border-horizontal: 1px solid var(--dhx-gantt-base-colors-border);
--dhx-gantt-scale-color: var(--dhx-gantt-base-colors-text-light);
--dhx-gantt-grid-body-background: transparent;
--dhx-gantt-grid-scale-background: var(--dhx-gantt-scale-background);
--dhx-gantt-grid-scale-color: var(--dhx-gantt-scale-color);
--dhx-gantt-grid-scale-border-vertical: var(--dhx-gantt-scale-border-vertical);
--dhx-gantt-timeline-scale-background: var(--dhx-gantt-scale-background);
--dhx-gantt-timeline-scale-color: var(--dhx-gantt-scale-color);
--dhx-gantt-timeline-scale-border-vertical: var(--dhx-gantt-scale-border-vertical);
/* Aufgaben */
--dhx-gantt-task-blue: linear-gradient(180deg, #527CFF 0%, #9751FC 100%);
--dhx-gantt-task-green: linear-gradient(180deg, #12D979 0%, #1ECDEB 100%);
--dhx-gantt-task-violet: linear-gradient(180deg, #D071EF 0%, #EE71D5 100%);
--dhx-gantt-task-yellow: linear-gradient(180deg, #FFB725 0%, #FFBB25 31.25%, #FAEA27 100%);
--dhx-gantt-task-background: var(--dhx-gantt-task-blue);
--dhx-gantt-task-border: none;
--dhx-gantt-task-color: var(--dhx-gantt-base-colors-text-on-fill);
--dhx-gantt-project-color: var(--dhx-gantt-task-color);
--dhx-gantt-task-line-text: var(--dhx-gantt-container-color);
--dhx-gantt-task-row-border: 1px solid var(--dhx-gantt-base-colors-border);
--dhx-gantt-task-row-background: var(--dhx-gantt-container-background);
--dhx-gantt-task-row-background--odd: var(--dhx-gantt-container-background);
--dhx-gantt-project-background: var(--dhx-gantt-task-green);
--dhx-gantt-milestone-background: var(--dhx-gantt-task-violet);
--dhx-gantt-task-marker-color: var(--dhx-gantt-task-background);
--dhx-gantt-popup-background: var(--dhx-gantt-container-background);
--dhx-gantt-popup-color: var(--dhx-gantt-container-color);
--dhx-gantt-tooltip-background: var(--dhx-gantt-base-colors-text-base);
--dhx-gantt-tooltip-color: var(--dhx-gantt-container-background);
--dhx-gantt-link-background: var(--dhx-gantt-base-colors-icons);
--dhx-gantt-link-background-hover: var(--dhx-gantt-base-colors-icons-hover);
--dhx-gantt-link-critical-background: var(--dhx-gantt-base-colors-error);
}
Alle Variablen finden Sie in der Datei codebase/sources/less/src/themes/variables.less.
Um das Aussehen des Gantt-Diagramms anzupassen, können Sie die notwendigen CSS-Variablen in Ihrem Stylesheet überschreiben. Hier ist ein Beispiel:
<style>:root {
/* Skalen */
--dhx-gantt-scale-background: #8E8E8E;
--dhx-gantt-base-colors-border-light: #C5C5C5;
--dhx-gantt-base-colors-border: #DFE0E1;
--dhx-gantt-scale-color: #FFF;
--dhx-gantt-base-colors-icons: #00000099;
/* Aufgaben */
--dhx-gantt-task-background: #3db9d3;
--dhx-gantt-task-color: #FFFFFF;
--dhx-gantt-project-background: #6AA84F;
--dhx-gantt-project-color: #FFFFFF;
/* Links */
--dhx-gantt-link-background: #ffa011;
--dhx-gantt-link-background-hover: #ffa011;
}
</style>
Related sample: Change skin dynamically
Wenn Sie Variablen auf diese Weise definieren, können Sie die Standardstile überschreiben und sicherstellen, dass Ihre benutzerdefinierten Stile auf das Gantt angewendet werden.
Um eine ordnungsgemäße Vererbung im gesamten Thema zu gewährleisten, definieren Sie Variablen am :root-Element.
Das Definieren dieser Stile am :root-Element stellt sicher, dass sie korrekt im gesamten Komponentenbereich vererbt und angewendet werden. Auf diese Weise wirkt sich eine Neudefinition einer von anderen verwendeten Variablen auf die damit verbundenen Stile in der gesamten Komponente aus.
Zum Beispiel erbt die Variable --dhx-gantt-scale-color
von der Haupttextfarbvariable --dhx-gantt-container-color
.
--dhx-gantt-container-color
auf der :root-Ebene stellt sicher, dass --dhx-gantt-scale-color
sich der Änderung anpasst.<style>:root {
/* --dhx-gantt-scale-color und andere
Variablen, die von `--dhx-gantt-container-color` erben,
werden diese Änderung widerspiegeln
*/
--dhx-gantt-container-color: #222;
}
</style>
--dhx-gantt-container-color
auf einer niedrigeren Ebene im DOM, wie innerhalb von .gantt_container, neu definiert wird, wirkt sich dies nicht auf --dhx-gantt-scale-color
aus.<style>.gantt_container {
/* nur Elemente, die direkt
--dhx-gantt-container-color verwenden, werden beeinflusst
*/
--dhx-gantt-container-color: #222;
}
</style>
Das Gantt-Paket enthält Stil-Dateien in folgenden Formen:
Die LESS-Dateien ermöglichen tiefere Anpassungen oder die Erstellung völlig neuer Skins.
Sie können codebase/sources/less als ein NPM-Paket initialisieren. Die Quellen enthalten zwei Arten von Dateien:
In codebase/sources/less/ führen Sie aus:
> npm install
Nach der Installation können Sie die CSS-Dateien mit diesen Befehlen neu erstellen:
> npm run build
Oder
> npm run watch
Diese Skripte generieren CSS-Dateien aus den Quellen und platzieren sie im codebase Ordner, wobei die vorhandenen Dateien ersetzt werden.
Hier ist die Struktur des less-Ordners für Version 9.0 (sie kann sich in zukünftigen Versionen ändern):
Der terrace
Skin definiert die Standardvariablen, während andere Skins diese Variablen anpassen und spezifische Stile hinzufügen.
terrace
.Um einen neuen Skin zu erstellen, kopieren und benennen Sie einen der vorhandenen Skins im sources/less/src/themes Ordner um. Befolgen Sie diese Schritte:
1) Kopieren und benennen Sie eine vorhandene Datei um, zum Beispiel:
-> kopieren:
codebase/sources/less/src/themes/material.less
-> umbenennen in:
codebase/sources/less/src/themes/custom.less
2) Importieren Sie die neue Datei in sources/less/src/themes/index.less wie folgt:
@import "./custom";
Fügen Sie dann Inhalte wie diesen hinzu:
:root[data-gantt-theme='custom'] {
--dhx-gantt-theme: custom;
--dhx-gantt-font-family: Roboto, Helvetica, Arial, sans-serif;
--dhx-gantt-base-colors-primary: #0288D1;
}
Denken Sie daran, Skin-Variablen unter dem :root
-Element mithilfe des data-gantt-theme
-Selectors zu definieren.
Ein neues Thema muss die Variable --dhx-gantt-theme mit dem Namen des Themas enthalten.
3) Erstellen Sie die Skins neu, indem Sie ausführen:
npm run build
Gantt könnte einige voreingestellte Kalendereinstellungen basierend auf dem verwendeten Skin anwenden. Wenn Sie einen neuen Skin erstellen, indem Sie einen vorhandenen kopieren, müssen Sie diese Einstellungen möglicherweise manuell in Gantt konfigurieren.
Beachten Sie, dass nicht alle Gantt-Stil-Einstellungen über CSS gesteuert werden. Einige Einstellungen stammen aus der JavaScript-Konfiguration, einschließlich:
Zurück nach oben