Ergebnis 1 bis 8 von 8

Thema: Vertikale Navigation

  1. #1
    Contao-Nutzer
    Registriert seit
    02.07.2009.
    Beiträge
    38

    Standard Vertikale Navigation

    Hallo zusammen!

    Zuerst einmal: Typolight ist für mich absolut genial! Ich bin grafischer Gestalter mit technischem Verständnis, aber kein Programmierer. Typolight bietet mir die Einfachheit und den logischen Aufbau, der bei Typo3 und Joomla auf der Strecke bleiben, und befreit von Programmieraufwand, ohne den Silverstripe kaum zu bedienen ist. Kompliment!

    Aktuell stehe ich bei einem CSS-Problem für eine vertikale Navigation an. Nichts Besonderes, Start- und Stoplevel sind klar und richtig eingestellt. Es geht nur um CSS. Ich habe nicht herausgefunden, wo Klassen und Tags ausführlich beschrieben sind bzw. wie ein einfaches CSS für die Navigation sauber aufgebaut wird - klar, sauber und ohne Schnickschnack. Gibt es eine Darstellung, in der ich evtl. grafisch sehe, womit ich im CSS was in der Navigation beeinflussen kann?

    Ich bin von "Music Academy" ausgegangen und habe angepasst. Aber nun stimmt immer entweder der aktive Level 1 nicht, Level 2 zu hoch, zu grosser Abstand etc. Und wenn ich von Fall zu Fall eingreife und anpasse, wird es ziemlich sicher zu kompliziert. Eigentlich sind mir first und last egal - es sollen einfach alle Punkte im gleichen Level gleich aussehen - hover und active sind anders.

    Ich könnte natürlich hier mal alles aufführen, aber ich möchte es begreifen, nicht "erledigen" lassen. Aussehen müsste es wie im Anhang, nur dass "Referenzen" gleich unterlegt sein sollte wie die anderen Level 1, aber hellgrau (Gif im Hintergrund).

    Ich dachte eigentlich, es könne nicht so kompliziert sein...

    Vielen Dank im Voraus
    Mr. Jones
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg nav.jpg (13,2 KB, 58x aufgerufen)

  2. #2
    Contao-Fan Avatar von Nils Riel
    Registriert seit
    19.06.2009.
    Beiträge
    730

    Standard

    Wenn du schreiben würdest, wie du die Navi bisher gestlyed hast, könnten wir dir leichter helfen. Im Prinzip musst du einfach folgendes machen:

    HTML-Code:
    #deine_navi_id ul {margin:0;list-style:none}
    #deine_navi_id li a,#deine_navi_id li span  {color:#000;background:url(normal.jpg);} -> die normale Ansicht
    #deine_navi_id li a:hover  {color:red;background:url(hover.jpg);} ->der :hover der Links
    #deine_navi_id li span  {color:#FFF!important;background:url(active.jpg)!important;} -> das ist für den aktiven Menüpunkt
    so würde ich es lösen

  3. #3
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Information

    Zitat Zitat von mr.jones Beitrag anzeigen
    Gibt es eine Darstellung, in der ich evtl. grafisch sehe, womit ich im CSS was in der Navigation beeinflussen kann?

    Ich dachte eigentlich, es könne nicht so kompliziert sein...
    Hallo Mr.Jones,

    ja, du kannst dir die Navigation mit firebug(mein Tipp) ansehen, dort kannst du dann Eigenschaften deaktivieren oder auch ändern und siehst die Auswirkung in Echtzeit. Im Safari kannst du Eigenschaften soviel ich weiß nur deaktivieren. Opera weiß ich jetzt nicht. IE mit developer toolbar kann auch einiges machen.

    Ein wenig kompliziert kanns schon werden, je nachdem wie du stylen möchtest. Das mit den runden Ecken wüsste ich jetzt auf Anhieb nicht.

    Ich hab dir mal einen Auszug aus meiner Basis-Navigations-CSS unten eingefügt und ein wenig kommentiert. Öffne die Seite mit deinem Menü im FF, binde den Code ein (am besten als letztes), öffne firebug und deaktiviere alle Eigenschaften aus meinem Code. Jetzt aktiviere sie von oben nach unten und schau dir an was passiert.

    CSS solltest du als grafischer Gestalter beherschen, sonst kannst du eben *nur* gestalten und musst von jemand anderem umsetzen lassen. Ich selbst bin immer neidisch auf die Gestalter, naja, dafür kann ich umsetzen.

    So, jetzt der Code. Fast vergessen, gib deinem Menü die ID subnav mit auf den Weg, sonst funzt der Code nicht.
    PHP-Code:
    /** * Schriftart alle Menüs */
    .mod_navigation li,
    .
    mod_navigation a,
    .
    mod_navigation span {
      
    font-family:  "Trebuchet MS"VerdanaArialHelveticasans-serif;
    }

    /** * Vertical subnav */
    .subnav {
      
    margin0;
    }
    /** * First level */
    /** * das ganze Menü */
    .subnav ul {
      
    margin0 0 0 10px/*Abstand nach links*/
      
    padding0;
      
    border-bottom4px solid #888;
    }
    /** * wegen IE7 Hintergrund nur der 1. Ebene verpassen,
     * andere Ebenen verdecken sonst den Rahmen der ersten Ebene */
    .subnav ul.level_1 {
      
    background#fff;
    }
    /** * Grundeinstellungen */
    .subnav li {
      
    color#000;
      
    list-style-typenone;
      
    border-top1px solid #888;
    }
    /** * alle Zustände */
    .subnav li, .subnav a {
      
    font-weightbold;
      
    font-size13px;
      
    margin0;
      
    padding0;
    }
    /** * padding nicht auf li, sonder auf die Kindelemente, deswegen auch block */
    .subnav a, .subnav span, .subnav.submenu asubnav.submenu span {
      
    displayblock;
      
    padding4px;
    }
    /** * der normale Link, nicht active und kein .trail */
    .subnav a {
      
    background#000;
      
    color#888;
      
    text-decorationnone;
    }
    /** * Link hover */
    .subnav a:hover {
      
    background#fff;
      
    color#000;
      
    text-decorationnone;
    }
    /** * Hacks */
    html .subnav ul, * html .subnav li {
      
    height1px;
    }
    *:
    first-child+html .subnav .parent {
      
    height3px;
    }
    /** * Second level */
    /** * Die weitere Einrückung wird über .subnav ul {margin...} vererbt, siehe oben */
    .subnav .level_2 {
      
    padding-bottom4px;
      
    border-bottom0;
    }
    .
    subnav .level_2 li {
      
    border-top0;
      
    border-bottom1px solid #888;
    }
    /** * kleine Schrift sieht fett nicht gut aus */
    .subnav .level_2 a, .subnav .level_2 li span {
      
    font-weightnormal;
      
    font-size11px;
    }

    /** * Trail */
    /** * Zustand in rootline (.trail) */
    .subnav a.trail {
      
    color#fff;
      
    background#888;
    }
    .
    subnav a.trail:hover {
      
    color#000;
      
    background#fff;

    Ich denke dieser Code ist eine ganz gute Ausgangsbasis, da nicht viel konfiguriert ist - ein wenig Einrückung, Hintergrundfarbe, Schriftfarbe und ganz wenig Rahmengedöns. Du müsstest dein Design dort also gut aufsetzen können.

    Viel Spaß, Andreas

    Edit: list-style-type: none; gehört eigentlich direkt auf das ul-Element, obwohl es im li auch funktioniert.
    Geändert von Andreas (02.07.2009 um 22:10 Uhr)

  4. #4
    Contao-Nutzer
    Registriert seit
    02.07.2009.
    Beiträge
    38

    Standard

    Vielen Dank für eure Tipps - Firebug ist Gold wert! Ich habe Dreamweaver, aber Firebug erspart mir den Umweg von Dreamweaver über die Voransicht im Browser (Safari) und wieder zurück, um Änderungen vorzunehmen.

    Die abgerundeten Ecken sind lediglich Hintergrundbilder - diese sind schon vorhanden und funktionieren. Mein angehängtes Bild war ein Screenshot des Browsers.

    Was ich noch nicht kapiere: Wie kann ich Level 1 getrennt von Level 2 ansprechen? Mehr Ebenen wird die Navigation nie erhalten.

    Ich war schon ziemlich weit mit dem Gebilde - bis auf letzte Details hat bei jedem Test alles funktioniert. Und das letzte Detail war jeweils, dass ein Level-2-Punkt wie Level-1 oder plötzlich als Block dargestellt wurde, zu hoch bzw. zu niedrig war, der aktive Punkt falsch dargestellt wurde etc.

    Deshalb die Frage nach dem Schema, wie die Navigation aufgebaut ist und womit sich was ansprechen lässt - active, last, first, Level 1, Level 2, trail... Ich blicke in dem Gebilde irgendwie noch nicht durch. Vielleicht haperts auch an meinem logischen Verständnis.

    Ich benötige Level 1 (mit Hintergrundbildern), Level 2 nur Text, und davon jeweils active und hover - und trail für den aktiven Punkt im Level 1 wäre schön. Aber ich versuche mich erst noch einmal mit Firebug.

  5. #5
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Information

    Hallo mr.jones,

    das Standard-Template nav_default.tpl generiert für die Menüs eine unsortierte Liste - Element ul - das ist auch semantisch korrekt. Direkt im einleitenden ul-Element findest du die Klasse für die Ebene (level).
    HTML-Code:
    <ul class="level_1">
      <li><a href="p1.html">p1</a>
        <ul class="level_2">
         <li><a href="p1.1html">p1.1</a></li>
         <li><a href="p1.2html">p1.2</a></li>
         <li><span>p1.3</span></li>
        </ul>
      </li>
      <li><a href="p2.html">p2</a></li>
      <li><a href="p3.html">p3</a></li>
    </ul>
    Hinzu kommen jetzt noch die Klassen .active, .first, .last und .trail. Du findest sie gemäß des TYPOlight-Motos "lieber mal eine Klasse zuviel" sowohl in den li-Elementen, als auch in deren Kindern, also a bzw. span.

    Für z.B. den aktiven Punkt hast du jetzt also eine reiche Auswahl an Klassen um auf ihn einzuhämmern, und er unterscheidet sich von den anderen auch noch dadurch, dass er in einem span und nicht in einem a steckt.

    So, dass müsste dich jetzt eigentlich nochmal eine Stufe weiter bringen.

    Viel Spaß weiterhin, Andreas
    Zitat Zitat von mr.jones Beitrag anzeigen
    Was ich noch nicht kapiere: Wie kann ich Level 1 getrennt von Level 2 ansprechen?
    Sorry, vergessen.
    PHP-Code:
    // Beispiel:
    // alle Listenpunkte (li) der 1. Ebene
    ul.level_1 li {color:red}
    // da es sich aber auch auf die Listenpunkte der 2. Ebene vererbt
    ul.level_2 li {color:green
    Geändert von Andreas (03.07.2009 um 12:24 Uhr)

  6. #6
    Contao-Nutzer
    Registriert seit
    02.07.2009.
    Beiträge
    38

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    So, dass müsste dich jetzt eigentlich nochmal eine Stufe weiter bringen.
    Hat es - danke! Langsam kommt Licht ins Dunkel... :-)

    Wo es noch stockt: Alle Level-2-Punkt sind gleich hoch wie die Level-1-Punkt wegen
    Code:
    .mod_navigation .level_1 a
    {
    	height:25px;
    	display:block;
    Wie schaffe ich es, die Höhe von Level 1 25 Pixel zu behalten (wegen Hintergrundbild) und die von Level 2 zu verkleinern?

    Das Bild ist ein Screenshot der Browserdarstellung.
    Angehängte Grafiken Angehängte Grafiken

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Oh, da warst du schneller als ich, schau mal, ich hab den Post davor noch ergänzt, das müsste es erklären.

    Andreas

  8. #8
    Contao-Nutzer
    Registriert seit
    02.07.2009.
    Beiträge
    38

    Standard

    Vielen Dank - werde ich testen!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Vertikale Navigation
    Von ChrisT im Forum Layout / Templates / Holy Grail
    Antworten: 6
    Letzter Beitrag: 20.01.2011, 08:51
  2. Vertikale Navigation mit drei Ebenen...
    Von ElMariachi im Forum Layout / Templates / Holy Grail
    Antworten: 7
    Letzter Beitrag: 09.01.2011, 12:58
  3. Vertikale Navigation
    Von mattes im Forum Layout / Templates / Holy Grail
    Antworten: 33
    Letzter Beitrag: 29.07.2010, 17:05
  4. Vertikale Drop Down Navigation
    Von FliFla im Forum Layout / Templates / Holy Grail
    Antworten: 6
    Letzter Beitrag: 17.01.2010, 14:53
  5. li.active problem / vertikale navigation
    Von marczw im Forum Layout / Templates / Holy Grail
    Antworten: 2
    Letzter Beitrag: 21.07.2009, 22:33

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •