Verehrte Joomla Gemeinde.
eventuell ist der eine oder die andere schon über das Problem gestolpert, wie man bei breiten Bildschirmen den Platz sinnvoll nutzt und über alle Seiten ein gleiches Layout hinbekommt.
Die Sache ist die, eine Anzeigebreite von 1320 Pixeln ist für viele Artikel sehr breit. Nun kann man die Seitenleisten mit Modulen vollklatschen, was aber zu langen Ladezeiten und Traffic beim Navigieren führt.
Eine Lösung wäre ein zusätzliches Seitenmenü, das den Navigationspfad und die Menüstruktur abbildet.
Standardmäßig schaut das etwas mäßig aus...
Hier ein Link wie eine optimierte Version aussehen könnte...
Zuerst ein Modul (Navigationsmenü, HTML5 aktiv) erstellen und auf die linke Seitenleiste damit und dann
ein CSS Code der das etwas aufpeppt.
Zusätzlich in der CSS-Klasse (Moduleinstellungen) noch folgenden Eintrag: "sidemenu d-none d-lg-block"
Anbei der CSS Code für die User.css:
/*Damit position:sticky funktioniert (am Handy aber nicht, sonst geht das mobile Menü nicht richtig)*/
@media (min-width: 992px) {
div.body-innerwrapper {
overflow-x: unset;
}
}
/* dito */
div.sp-column {
height: 100%
}
div.sidemenu {
height: 100%;
border-right: 1px solid lightgray;
}
div.sidemenu > ul {
position: sticky;
top: calc(0% + 120px);
}
div.sidemenu a {
color: black;
}
/* Obere Menüebene */
div.sidemenu ul.mod-menu {
list-style-type: none;
text-transform: uppercase;
font-size: 90%;
font-weight: bold;
padding-left: 0;
}
div.sidemenu ul.mod-menu > li {
margin: 6px 10px 6px 0px;
}
div.sidemenu ul.mod-menu > li.item-101 {
margin-top: 0;
}
/* Der aktuell aktive Menüpunkt in rot */
div.sidemenu ul.mod-menu > li.current > a {
color: #df1313;
text-decoration: none;
}
div.sidemenu ul.mod-menu > li::before { /* Pfeil vorne dran */
font-family: "Font Awesome 6 Free";
content: "\f107";
float: left;
margin-right: 2px;
transform: rotate(-90deg);
}
div.sidemenu ul.mod-menu__sub { /* Untermenüpunkte */
padding: 4px 8px 4px 0;
position: relative;
left: 10px; /* Etwas einrücken damit es mit dem Text des Hauptmenüpunkts abschneidet */
display: none; /* Bei lg nicht anzeigen (braucht zu viel Platz) */
}
@media (min-width: 1200px) and (min-height: 1100px) {
div.sidemenu ul.mod-menu__sub {
display: block; /* Nur bei xl / xxl */
}
}
div.sidemenu li.active ul.mod-menu__sub {
display: block; /* außer es ist der aktive Menüpunkt, dann immer anzeigen */
}
div.sidemenu ul.mod-menu__sub > li {
display: inline-block; /* Nicht jedes item in eine extra Zeile */
padding: 0;
margin: 3px;
}
div.sidemenu ul.mod-menu__sub > li > a {
display: inline-block; /* Kästchen immer viereckig, kein Zeilenumbruch */
text-transform: none; /* KEIN uppercase hier */
padding: 2px 8px;
border-radius: 6px;
background-color: #ededed;
font-weight: normal; /* nicht fett hier */
font-size: small;
}
div.sidemenu ul.mod-menu__sub > li.current > a {
color: #df1313; /* Der aktuell aktive Menüpunkt in rot */
font-weight: bold;
}
div.sidemenu .active a, div.sidemenu a:hover {
text-decoration: none;
}