mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 12:21 Benutzername: Passwort: Auto-Login

Thema: [HTML/CSS]Untermenü auf linker Seite? vom 05.08.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> [HTML/CSS]Untermenü auf linker Seite?
Autor Nachricht
deeesi
Threadersteller

Dabei seit: 01.09.2004
Ort: Leverkusen
Alter: 42
Geschlecht: Weiblich
Verfasst Di 05.08.2008 17:34
Titel

[HTML/CSS]Untermenü auf linker Seite?

Antworten mit Zitat Zum Seitenanfang

Schon eine Million Mal unterschiedlichste Listenmenüs gebaut, aber jetzt stehe ich irgendwie auf dem Schlauch.

Ich möchte folgendes Menü bauen:




Oben ist der Normalzustand und unten ist der Zustand, wenn ich Punkt 2 Ausgewählt habe (kein Ausklapp-Schnickschnack, die 2 Unterpunkte sind dann einfach da)

Das ist mein HTML dazu:
Code:
<div id="menu">
   <ul>
       <li>Menuepunkt 1</li>
        <li>Menue 2
            <ul>
                <li>Test</li>
                <li>Test 2</li>
            </ul>
        </li>
        <li>Menuepunkt Nummer 3</li>
        <li>Punkt 4</li>
    </ul>
</div>


Bekomme ich das so hin? Wären die Normalpunkte alle gleich breit, kein Problem. Aber die haben alle unterschiedliche Breiten.

Hat vielleicht jemand einen Denkanstoß für mich?
Danke Lächel


Zuletzt bearbeitet von deeesi am Di 05.08.2008 17:35, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 05.08.2008 18:56
Titel

Antworten mit Zitat Zum Seitenanfang

Hey. Wo siehst du denn das Problem?


Code:
    ul#menu ul.submenu,
    ul#menu ul.submenu li {
      display: inline;
    }


Code:
  <ul id="menu">
    <li>Menuepunkt 1</li>
    <li>Menue 2
      <ul class="submenu">
        <li>Test</li>
        <li>Test 2</li>
      </ul>
    </li>
    <li>Menuepunkt Nummer 3</li>
    <li>Punkt 4</li>
  </ul>     


so in etwa.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
deeesi
Threadersteller

Dabei seit: 01.09.2004
Ort: Leverkusen
Alter: 42
Geschlecht: Weiblich
Verfasst Di 05.08.2008 20:46
Titel

Antworten mit Zitat Zum Seitenanfang

die untermenüpunkte in eine reihe zu bekommen, ist kein problem.
die hauptmenüpunkte rechtsbündig (bis hierhin auch klar) und dann das entsprechende untermenü links davon anzuzeigen, sodass es genau wie in meinem bild aussieht. DAS ist mein problem
*Schnief*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bel

Dabei seit: 09.07.2004
Ort: Hamburg
Alter: -
Geschlecht: -
Verfasst Di 05.08.2008 22:45
Titel

Antworten mit Zitat Zum Seitenanfang

Mit fast dem gleichen HTML wie oben:
Code:

<div id="menu">
   <ul>
       <li>Menuepunkt 1</li>
        <li class="current">Menue 2
            <ul>
                <li>Test</li>
                <li>Test 2</li>
            </ul>
        </li>
        <li>Menuepunkt Nummer 3</li>
        <li>Punkt 4</li>
    </ul>
</div>

kannst du eigentlich nur die zweite Ebene absolut innerhalb des LI positionieren. Zum Floaten müsste man die Reihenfolge tauschen, was semantisch wenig sinn macht. Also eher so:
Code:

#menu {
   width: 300px;
}
#menu ul,
#menu ul li {
   list-style: none;
   margin: 0;
   padding: 0;   
}
#menu ul li {
   text-align: right;
   position: relative;
}
#menu ul li ul {
   display: none;   
   position: absolute;
   top: 0;
}
#menu ul li.current ul {
   display: block;   
}
#menu ul li ul li {
   display: inline;
   text-align: left;
   padding: 0 5px;
}

Und dann noch gucken ob du das div#menu noch einsparen kannst... Lächel
  View user's profile Private Nachricht senden
deeesi
Threadersteller

Dabei seit: 01.09.2004
Ort: Leverkusen
Alter: 42
Geschlecht: Weiblich
Verfasst Mi 06.08.2008 09:49
Titel

Antworten mit Zitat Zum Seitenanfang

im ansatz ja schon mal nicht schlecht.
aber deine version sieht jetzt so aus (ich hab mir mal border drum gemacht)



aber die schwierigkeit besteht ja darin, dass ich die unterpunkte immer im gleichen abstand nach rechts zum hauptmenüpunkt ausrichte, weil die unterscheidliche breiten haben. Menno!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 06.08.2008 10:02
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
    ul#menu {
      list-style: none;
      margin: 50px;
    }
    ul#menu li {
      text-align: right;
    }
    ul#menu ul.submenu,
    ul#menu ul.submenu li {
      display: inline;
    }


Code:
  <ul id="menu">
    <li>Menuepunkt 1</li>
    <li>
      <ul class="submenu">
        <li>Test</li>
        <li>Test 2</li>
      </ul>   
    Menue 2</li>
    <li>Menuepunkt Nummer 3</li>
    <li>Punkt 4</li>
  </ul> 
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
deeesi
Threadersteller

Dabei seit: 01.09.2004
Ort: Leverkusen
Alter: 42
Geschlecht: Weiblich
Verfasst Mi 06.08.2008 10:21
Titel

Antworten mit Zitat Zum Seitenanfang

@m: zwar nicht die feinste art, das rumzudrehen, aber wohl nicht anders machbar. * Keine Ahnung... *

danke!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 06.08.2008 10:46
Titel

Antworten mit Zitat Zum Seitenanfang

Semantisch gesehen sind die Beispiele gleichwertig, von daher ists latte. Unsauber wäre es, die HTML-Struktur an sich aufzubrechen.
  View user's profile Private Nachricht senden
 
Ähnliche Themen Blogger Seite an eine HTML Seite anpassen.
HTML-Seite als PDF
Seite strecken (html/css)
PDF in HTML seite automatisieren
.wmv als Stream in HTML-Seite?
Eigene Web-Seite mit HTML
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Allgemeines - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.