Ergebnis 1 bis 18 von 18

Thema: [Solved] Navigation mit diversen Icons

  1. #1
    Contao-Nutzer Avatar von Marcello
    Registriert seit
    28.07.2009.
    Ort
    Bern Schweiz
    Beiträge
    117

    Frage [Solved] Navigation mit diversen Icons

    Hallo und guten Tag

    Ich erstelle gerade eine webseite welcher ich gerne den fünf Hauptmenupunkten jedem ein anderes Hintergrundbild laden möchte, d.h, neben jdem Hauptmenu Punkt soll ein Icon sein (das sich beim hovern hervorhebt).

    Es handelt sich um ein aufklappmenu bis level2 (also 1,2,3)

    Nun wie kann ich in typolight denn einselne Navigation .li per CSS ansprechen, respektive wie kann ich sagen das .li 1 CSS ID "Home" hat .li 2 CSS ID "about" etc.

    Und wenns geht wärs noch besser wenn das mit dem "Mootols Navigation" Plugin auch funktionieren würde!

    Besten Dank schon im Voraus.
    Geändert von Marcello (01.10.2009 um 19:49 Uhr)

  2. #2
    Administrator Avatar von Nina
    Registriert seit
    04.06.2009.
    Ort
    Hamburg
    Beiträge
    4.755
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du kannst in der Seitenstruktur jeder Seite eine eigene CSS-Klasse zuweisen. Diese wird dann auch in der Navigation ausgegeben und kann somit von dir für die Zuweisung der Icons im Stylesheet genutzt werden.

  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

    Standard

    Hallo Marcello,

    du kannst der Seite eine Klasse mitgeben, diese findest du dann im Listenpunkt. Desweiteren könntest du nav_default.tpl modden, um dir Klassen oder IDs in die Listenpunkte du generieren.

    Andreas

  4. #4
    Contao-Nutzer Avatar von Marcello
    Registriert seit
    28.07.2009.
    Ort
    Bern Schweiz
    Beiträge
    117

    Daumen hoch Besten Dank!

    Wow das gin ja fix, werd ich sofort testen!

    Danke an auch beide!

  5. #5
    Contao-Nutzer Avatar von bitman
    Registriert seit
    03.07.2011.
    Ort
    Sankt Andreasberg
    Beiträge
    15
    User beschenken
    Wunschliste

    Frage wohin mit den Icons?

    Hallo Forum,

    ich habe mir das hier gerade herausgesucht, weil ich auch eine derart grafisch aufgelockerte Navigation erstellen wollte. Die Bindung über die Klasse finde ich sauber...

    Aber wohin legt man die Icons für die Navigation am besten? In welchem Verzeichnis sollte man sie speichern? Gibt es da eine Vorgabe oder Empfehlung?

    Danke für Antworten
    (hoffentlich sieht meine Frage hier überhaupt noch jemand)

    bitman
    gute Antworten sind seltener als gute Fragen

  6. #6
    Contao-Nutzer Avatar von Mr. Acylase
    Registriert seit
    24.01.2011.
    Ort
    Waldbrunn / Westerwald
    Beiträge
    151

    Standard

    Hallo Marcello,

    wie meine Vorredner schon geschrieben haben kann Du in der Seitenstruktur jeder Seite eine eigene Klasse beziehungszweise eine eingene ID vergeben. Diese kannst Du dann per CSS getrennt ansprechen. Die könnte z.B. so aussehen:

    ul.level_1 li.home a

    ul.level_1 li.home a:hover

    Hallo Bitman,

    mir sind da keine Vorgaben bekannt. Ich mache es so das ich für meine Grafikdatein getrennte Ordner anlege (über die Dateiverwaltung). Die Ornder nenne ich dann zum Beispiel nav, layout, images usw...


    Grüße

    Stefan

  7. #7
    Contao-Nutzer Avatar von bitman
    Registriert seit
    03.07.2011.
    Ort
    Sankt Andreasberg
    Beiträge
    15
    User beschenken
    Wunschliste

    Frage Speicherort

    Zitat Zitat von Mr. Acylase Beitrag anzeigen

    mir sind da keine Vorgaben bekannt. Ich mache es so das ich für meine Grafikdatein getrennte Ordner anlege (über die Dateiverwaltung). Die Ornder nenne ich dann zum Beispiel nav, layout, images usw...

    Stefan
    Ich habe mich im Moment an das Buch von Peter Müller gehalten, und in tl_files ein Verzeichnis mit dem Projektnamen und darin ein Verzeichnis "themes/themename/grafics" angelegt.

    Wäre das von der Contao-Logik so sinnvoll? Jedes Theme kann ja andere Graifiken und Icons verwenden...

    Das ist dann nachher im CSS allerdings ein ziemlich langer Pfad und ich bin mir total unsicher, ob das das dann auch bei Wechsel des Themes noch schlüssig ist.

    Grüße

    bitman
    gute Antworten sind seltener als gute Fragen

  8. #8
    Contao-Nutzer Avatar von Mr. Acylase
    Registriert seit
    24.01.2011.
    Ort
    Waldbrunn / Westerwald
    Beiträge
    151

    Standard

    Ich finde das sogar sehr sinnvoll für jedes Projekt einen eigenen Ordner anzulegen. Es mag ein wenig gewöhnungsbedürftig sein aber nach einer gewissen Zeit findest Du Dich wahrscheinlich damit besser zu recht als wenn Du die verwendeten Grafiken einfach abspeicherst. Und was den langen Pfad angeht, da würde ich mir erstmal keine Gedanken machen.

    Grüße

    Stefan

  9. #9
    Buchautor 'Websites erstellen mit Contao' Avatar von pmmueller
    Registriert seit
    19.06.2009.
    Ort
    Groningen (NL)
    Beiträge
    1.523

    Standard

    Zitat Zitat von bitman Beitrag anzeigen
    Das ist dann nachher im CSS allerdings ein ziemlich langer Pfad ...
    Wenn dir der Pfad zu lang ist, gib dem Theme-Ordner und dem Grafik-Ordner kurze Namen:
    /tl_files/red/gfx oder sowas in der Art.
    "grafics" ist sowieso eine eher seltene Schreibweise. Die Anglisten schreiben lieber "graphics", und die Germanisten "grafiken"

  10. #10
    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

    Als Neueinsteiger brauchst du dir keine Gedanken über Themes zu machen. Ich habe noch in keinem Projekt Themes gebraucht. Ich habe mein CSS hier tl_files/css/ und meine Bilder die per CSS eingebunden werden hier tl_files/css/img/. Willst du ein zweites Projekt realisieren bietet es sich an eine neue Installation mit eigener DB aufzusetzen.

    Grüße
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  11. #11
    Contao-Nutzer Avatar von bitman
    Registriert seit
    03.07.2011.
    Ort
    Sankt Andreasberg
    Beiträge
    15
    User beschenken
    Wunschliste

    Standard Anordnung der Icons

    Schon mal ein zwischenzeitlicher Dank fürs Mitlesen und die Tipps.

    Ich habe das nun ruhig schon mal "aufgebohrt" gespeichert. "grafics" kam mir aber doch gleich so ulkig vor ;-)

    Aber nun habe ich noch ein CSS-Problem mit den Listen der Navigation. Ich bekomme zwar die Bildchen (sind 80x80px groß) per CSS eingebunden und auch seitlich positioniert, aber der Linktext steht dann immer mit der ersten Zeile bottombündig zum Bildchen. Wenn er länger wird, wird umgebrochen und die zweite Zeile steht dann _unter_ der unteren Bildkante. Das sieht sch.... aus.

    Wie kann ich es hinbekommen, dass der Text des Links an der Oberkante des Bildchens beginnt?

    Auf Hintergrundbilder wollte ich eigentlich nicht zurückgreifen.
    Schön wäre es außerdem, wenn auch das Bild linksensitiv wäre...

    Grüße
    bitman
    gute Antworten sind seltener als gute Fragen

  12. #12
    Buchautor 'Websites erstellen mit Contao' Avatar von pmmueller
    Registriert seit
    19.06.2009.
    Ort
    Groningen (NL)
    Beiträge
    1.523

    Standard

    Wenn du die Grafik per <img> einbindest ist das normales Verhalten, dass der Text im selben Block-Element unten steht.

    Adhoc-Lösung: im HTML <img ... align="left">. Abstände mit hspace und vspace regeln (Syntax bei Selfhtml).

    Eleganter: im CSS die Grafik mit float:left; floaten.

    Gibt es einen Link zur Beispielseite?

  13. #13
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    oder komplett per CSS
    Code:
    .mod_navigation a.deineseite:before {
      content: url('tl_files/pfad/zum/bild.png');
    }
    wird aber afaik erst ab ie8 unterstützt.
    Die Bildchen könnte man dann auchnoch in eine Sprite-Grafik zusammenfassen und dann mit
    clip den richtigen Ausschnitt anzeigen ;-)

    Also, wenn du mal experimentieren willst ;-)

  14. #14
    Contao-Nutzer Avatar von bitman
    Registriert seit
    03.07.2011.
    Ort
    Sankt Andreasberg
    Beiträge
    15
    User beschenken
    Wunschliste

    Standard ordentlich per Liste

    Zitat Zitat von pmmueller Beitrag anzeigen
    Wenn du die Grafik per <img> einbindest ist das normales Verhalten, dass der Text im selben Block-Element unten steht.
    gibt es einen Link zur Beispielseite?
    Ich habe ordnungsgemäß über die CSS-Klassen-Zuordnung zu den Seiten gearbeiet. Diese wird im Navigationsmodul dann auch den List-Elementen zugewiesen, die den Link auf die Seite aufnehmen.


    Code:
    ul
    {
    	margin-left:60px;
    	padding-left:0;
    }
    
    li
    {
    	list-style-position:outside;
    	    padding-left:10px;
    	    margin-bottom:20px;
    }
    
    li.pg-home
    {
    	list-style-type:none;
    	list-style-image:url("/tl_files/harzhirt/themes/01-green/icons/icon_home.png");
    }
    
    li.pg-walking
    {
    	list-style-type:none;
    	list-style-image:url("/tl_files/harzhirt/themes/01-green/icons/icon_nordic_walking.png");
    }
    
    li.pg-biking
    {
    	list-style-type:none;
    	list-style-image:url("/tl_files/harzhirt/themes/01-green/icons/icon_biking.png");
    }
    usw.

    Wie könnte ich dennordnungsgemäß über die Seitenstruktur dem Listelement der Navigation ein Image zuweisen?


    Die URL der Seite lautet http://harzhirt.lan. Ich glaube (hoffe), dass Du die nicht erreichen kannst von deinem Lappi aus.


    Aber hier ein Bild als Beispiel

    Harzhirt - Menu als Liste.png


    Da muss es doch Leute geben, die sowas in Contao schon gemacht haben, ohne sich zu verrenken?

    Grüße
    bitman
    gute Antworten sind seltener als gute Fragen

  15. #15
    Contao-Nutzer Avatar von bitman
    Registriert seit
    03.07.2011.
    Ort
    Sankt Andreasberg
    Beiträge
    15
    User beschenken
    Wunschliste

    Standard :before

    Zitat Zitat von psren Beitrag anzeigen
    oder komplett per CSS
    Code:
    .mod_navigation a.deineseite:before {
      content: url('tl_files/pfad/zum/bild.png');
    }
    wird aber afaik erst ab ie8 unterstützt.
    sollte natürlich überall funktionieren. Ich schaue mir den Vorschlag aber noch genauer an.

    (Dummerweise habe ich momentan keinen lauffähigen IE mehr. Auf meinem WinDOS (XP) streikt der seit geraumer Zeit. Ich weiß nicht woran es liegt. Der funktioniert immer nur einige Stunden nach einer kompletten Neuinstallation. Irgendein Tool muss da rott sein oder ich habe einen verdammt schlauen Virus im System, der selbst das Hartformatieren überlebt)

    Gibt es denn eine andere Möglichkeit, z.B. in der Seitenbeschreibung eine Variable zu hinterlegen mit der Bildreferenz, die man dann im Navigationsmenu wieder ausliest? Aber auch dann müsste ich in das mod_navigation eingreifen. Das will ich aber ganz bewusst nicht tun.

    Grüße aus dem Harz
    bitman
    gute Antworten sind seltener als gute Fragen

  16. #16
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von bitman Beitrag anzeigen
    Der funktioniert immer nur einige Stunden nach einer kompletten Neuinstallation.
    Ich würde nie behaupten, dass der Funktioniert.

    Soweit ich mich erinnere gibt es eine Erweiterung dafür. Ich dachte, da gibt/gab es mal eine Erweiterung dazu imagenavigation oder so... aber ich kann das nicht mehr finden.

    Lohnt sich meiner ansicht nach auch nicht, da man den Hover-Effekt ja sowieso am besten mit Image-Sprites macht...

  17. #17
    Buchautor 'Websites erstellen mit Contao' Avatar von pmmueller
    Registriert seit
    19.06.2009.
    Ort
    Groningen (NL)
    Beiträge
    1.523

    Standard

    Die Pseudoklassen :before und :after funktionieren erst seit IE8.

    Die beste Art die Bilder unterzubringen ist eigentlich wirklich als Hintergrundbild im CSS. Spricht irgendwas dagegen, die Bilder über die Eigenschaft background direkt an den Hyperlink in den Listenelementen zu hängen?
    Code:
    a.pg-home {
      background: #rrggbb url("/tl_files/harzhirt/themes/01-green/icons/icon_home.png") no-repeat left center;
      padding-left: 20px; /* entspricht etwa der Breite des Bildes */
    }
    Ich gestalte Navigationen eigentlich meist lieber über die Links als über die <li>s.

    Wenn du bei den Listenelementen bleiben willst, dann probiere statt der Eigenschaft list-style-image (was eigentlich für den Job gedacht ist) auch hier mal background für das Bild. Damit hast du zumindest ansatzweise die Möglichkeit, die Grafiken zu positionieren. Zum Beispiel so:
    Code:
    li.pg-home {
      list-style-type:none;
      background: #rrggbb url("/tl_files/harzhirt/themes/01-green/icons/icon_home.png") no-repeat left center;
      padding-left: 20px; /* entspricht etwa der Breite des Bildes */
    }
    #rrggbb steht für eine Hintergrundfarbe. Das padding-left macht Platz für die Grafik. Statt center kannst du auch Angaben in Prozent oder Pixel machen.

  18. #18
    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

    Ich würde dir auch dazu raten es so ähnlich zu machen wie pmmueller schreibt.

    Wenn du den As und SPANs im Menü display:block gibst, kannst du sie wunderbar mit background, padding usw. formatieren. Dann hast du auch eine schöne große sensible Fläche für den Hover-Effekt (das Hintergrundbild ist dann auch "sensibel"). Ich sehe immer wieder, dass das padding den LIs gegeben wird und die As kein padding haben, damit wird der Bereich zum Hovern sehr klein.

    So brauchst du auch keinerlei Template-Anpassung vorzunehmen.

    Die Browser-Listenformatierung würde ich mit list-style-type:none ganz ausschalten. Dann brauchst du auch kein vertical-align. Mit line-height kannst du dann vertikal zentrieren, wenn du möchtest. Ansonsten fängt der Text oben links an (mit den entsprechenden Abständen natürlich).

    Möchtest du einen Hover-Effekt (anderes Bild), dann mach es mit Sprites (beide Bilder in einem Bild), wie dir schon gesagt wurde. (Bild dann mit CSS nur hoch und runter schieben).

    Da muss es doch Leute geben, die sowas in Contao schon gemacht haben, ohne sich zu verrenken?
    Ja, da hast du recht, das ist tägliches Brot, wird in fast jedem vertikalen Standardmenü angewendet. Wenn du es so machst wie beschrieben, hast du es ab da auch drauf ;-).

    (Firebug für Firefox hilft dir beim Echtzeit-Entwickeln).

    Grüße
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. [solved] Events (Messetermine)
    Von Schockwelle im Forum Nachrichten/Events/FAQ
    Antworten: 0
    Letzter Beitrag: 09.11.2010, 13:44
  2. seperates stylesheet für unterseiten [solved]
    Von lawpz im Forum Layout / Templates / Holy Grail
    Antworten: 3
    Letzter Beitrag: 10.05.2010, 08:20
  3. [SOLVED] Instalationsproblem auf Apache Webserver
    Von Kidchaos im Forum Installation / Update
    Antworten: 13
    Letzter Beitrag: 09.02.2010, 07:53
  4. Solved: Whitescreen nach Live-Update 2.5.X > 2.7.6
    Von phreak im Forum Installation / Update
    Antworten: 6
    Letzter Beitrag: 20.12.2009, 14:22
  5. Artikel Seitenübergreifend anspringen [solved]
    Von Marcello im Forum Sonstiges zu Contao
    Antworten: 3
    Letzter Beitrag: 31.07.2009, 13:17

Lesezeichen

Lesezeichen

Berechtigungen

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