admorris pro verwendet SASS 1.80 (Dart SASS). Diese Version ist neuer als die im JTL Shop mitgelieferte Version und bringt einige Neuerungen wie die bessere Unterstützung neuer CSS Syntax, aber auch einige Breaking Changes
Zusätzlich zu den globalen User Styles gibt es nun für die verschiedenen Seitentypen eigene User-Styles Dateien. Dadurch kann die Performance verbessert werden. Die Bootstrap und Template Styles werden auch entsprechend aufgeteilt.
Zusätzlich gibt es auch ein non-critical.scss
File, das asynchron geladen wird und für Inhalte "Below the Fold" gedacht ist. Es enthält die Bootstrap Komponenten von Dropdowns, Toasts, Modals, Tooltips, Popover, Print Styles und vom Template die Styles für Footer, Offcanvas Menü, Scroll-to-Top Button, Home News Slider und Paginierung.
Wenn Non-Critical Styles überschrieben werden sollen ist es wichtig, auch das eigene User-Styles File dafür zu verwenden, weil die Styles sonst nicht in der richtigen Reihenfolge geladen werden.
Es empfiehlt sich zur Performanceverbesserung die Styles in die entsprechenden Files aufzuteilen.
Variablen, die Bootstrap Variablen überschreiben sollen, müssen in das user-styles/_user-variables.scss
File eingefügt werden.
Variablen aus den _user-variable.scss
können auch Backend Settings überschreiben, die dann nicht mehr funktionieren.
SASS Variablen können auch in calc verwendet werden. Division außerhalb von calc mit /
sind in Dart SASS deprecated.
In calc wird alles Berechnet was in SASS berechnet werden kann. Der Rest wird dem Browser in einer calc Funktion ausgegeben.
Sass Syntax Hinweise:
Die Styles werden nach dem Kompilieren zu CSS noch mit Lightning CSS mit prefixes versehen. Dadurch kann die neuere @media range syntax verwendet werden, die dann automatisch umgewandelt wird.
@media (width >= 400px) { ... }
// Beispiel mit Verwendung der Bootstrap breakpoint Getter Funktion
@media (width < breakpoint-min(lg)) { ... }
Eine ausführliche Liste finden sie hier: Transpilation.
Das Minifying wird auch von Lightning CSS übernommen. Lightning CSS sorgt dabei für den kleinstmöglichen output:
.foo {
padding-top: 1px;
padding-left: 2px;
padding-bottom: 3px;
padding-right: 4px;
}
Wird umgewandelt zu:
.foo{padding:1px 4px 3px 2px}
Nach dem Update von admorris Pro auf Version 3 können sie auswählen ihre User-Styles automatisch von LESS ins SCSS Format konvertieren zu lassen. Variablennamen und Mixins können automatisch konvertiert werden. Aber die Konvertierung umfasst nicht alle Features von LESS. Die in LESS eingebauten Functions können allerdings nicht konvertiert werden.
Wie ist bei Fehlern vorzugehen: Zeile des Fehlers im User-Styles Editor suchen. Syntaxfehler beheben oder Zeile auskommentieren. Überprüfen ob kein Fehler mehr kommt wenn man "Speichern und Kompilieren" Ausführt.
Anpassen von Bootstrap Klassen.
Bootstrap 3.x | Bootstrap 4 |
---|---|
.col--offset- | .offset-* |
.col--push- | .order-*-2 |
.col--pull- | .order-*-1 |
.panel | .card |
.panel-heading | .card-header |
.panel-title | .card-title |
.panel-body | .card-body |
.panel-footer | .card-footer |
.panel-primary | .card.bg-primary.text-white |
.panel-success | .card.bg-success.text-white |
.panel-info | .card.text-white.bg-info |
.panel-warning | .card.bg-warning |
.panel-danger | .card.bg-danger.text-white |
.well | .card.card-body |
.thumbnail | .card.card-body |
.list-inline > li | .list-inline-item |
.dropdown-menu > li | .dropdown-item |
.nav navbar > li | .nav-item |
.nav navbar > li > a | .nav-link |
.navbar-right | .ml-auto |
.navbar-btn | .nav-item |
.navbar-fixed-top | .fixed-top |
.nav-stacked | .flex-column |
.btn-default | .btn-secondary |
.img-responsive | .img-fluid |
.img-circle | .rounded-circle |
.img-rounded | .rounded |
.form-horizontal | (removed) |
.radio | .form-check |
.checkbox | .form-check |
.input-lg | .form-control-lg |
.input-sm | .form-control-sm |
.control-label | .col-form-label |
.table-condensed | .table-sm |
.pagination > li | .page-item |
.pagination > li > a | .page-link |
.item | .carousel-item |
.help-block | .form-text |
.pull-right | .float-right |
.pull-left | .float-left |
.center-block | .mx-auto.d-block |
.hidden-xs | .d-none |
.hidden-sm | .d-sm-none |
.hidden-md | .d-md-none |
.hidden-lg | .d-lg-none |
.visible-xs | .d-block.d-sm-none |
.visible-sm | .d-none.d-sm-block.d-md-none |
.visible-md | .d-none.d-md-block.d-lg-none |
.visible-lg | .d-none.d-lg-block.d-xl-none |
.label | .badge |
.badge | .badge.badge-pill |