Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Dezember

SELFHTML Forumsarchiv
Verschachtelte Listen mit CSS formatieren

Informationsseite
  1. Seite (CSS) Verschachtelte Listen mit CSS formatieren von sebastian, 30. 12. 2007, 16:56
nach unten

Verschachtelte Listen mit CSS formatieren

Die folgende Nachricht zum Thema stammt von: sebastian, 30. 12. 2007, 16:56

Hallo,
ich habe bei der erstellung einer webseite ein problem mit der Formatierung von ul und li elementen mit css.
insgesamt soll die liste mindestens 3 ebenen haben: die erste ebene vertical, die zweite horizontal und die dritte wieder vertical.

das Ganze sollte dann etwa so aussehen:
Listen Formatierung
Ich habe schon verschiedene möglichkeiten ausprobiert.

mit "float:left" <ul> elementen funtioniert bei mir nur die erste ebene horizontal (bzw. alle drei, aber nicht erst ab der 2. ebene horizontal).

mit "display:inline" <li> elementen ist nur die unterste ebene horizontal...
Kann mir vielleicht irgentwer weiterhelfen?
Wie müsste der css Text aussehn um eine solche Formatierung zu erreichen?

nach obennach unten

Verschachtelte Listen mit CSS formatieren

Die folgende Nachricht zum Thema stammt von: Lork bei Iork, 30. 12. 2007, 17:24

»» das Ganze sollte dann etwa so aussehen:
»» Listen Formatierung

Ich kenne den Inhalt nicht, aber fällt Dir an Deiner Darstellung etwas auf? Nein? Das sieht verdächtig nach einer Tabelle aus. Insofern würde mich erst einmal interessieren, was gegen den Einsatz einer solchen spricht - nicht, dass noch unschuldige <li>-Elemente gequält werden.

nach obennach unten

Verschachtelte Listen mit CSS formatieren

Die folgende Nachricht zum Thema stammt von: Marc aus dem Sarg, 30. 12. 2007, 17:44

hallo,

»» ich habe bei der erstellung einer webseite ein problem mit der Formatierung von ul und li elementen mit css.
»» insgesamt soll die liste mindestens 3 ebenen haben: die erste ebene vertical, die zweite horizontal und die dritte wieder vertical.

Zum Verständnis hilft dein Bildchen nicht viel weiter. Vielleicht möchtzest du, daß aus deiner "horizontalen" Liste die "dritte Ebene" als Auklappmenü nach unten herausragt ...

Tatsächlich ist das ein etwas komplexeres Ding.

»» mit "float:left" <ul> elementen funtioniert bei mir nur die erste ebene horizontal

"float" wird dir hier nicht weiterhelfen. Was eventuell hilft, ist, die "eingeschatelten" Listen mit eigenen Klassennamen zu versehen. Denek daran, daß CSS das Prinzip der Vererbung berücksichtigt. Wenn du also für die erste Ebene "display:block" formuliert hast, mußt du es in der zweiten Ebene mit "display:inline" korrigieren, und in der dritten Ebene eben wieder "display:block" einsetzen.

MadS

nach obennach unten

Verschachtelte Listen mit CSS formatieren

Die folgende Nachricht zum Thema stammt von: Detlef G., 30. 12. 2007, 23:29

Hallo  sebastian

»» Listen Formatierung
»» Ich habe schon verschiedene möglichkeiten ausprobiert.

Meintest du etwa so:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title>seltsame Liste</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
ul, li {
  list-style:none;
  margin:0;
  padding:0;
  display:block;
}

li {
  margin: 1em 0;
  float: left;
  clear:left;
  border-bottom: 1px solid #000;
}

ul ul {
  margin: 0 0 0 5em;
}

li li {
  clear:none;
  padding: 0 0.5em;
  margin:0;
  border: 0 none;
}

ul ul ul {
  margin: 1em 0;
}

li li li {
  float:none;
  margin:0;
  padding: 0;
}

    </style>
  </head>
  <body>
    <ul>
      <li>Ebene1
        <ul>
          <li>Ebene2
            <ul>
              <li>Ebene3</li>
              <li>Ebene3</li>
              <li>Ebene3</li>
            </ul>
          </li>
          <li>Ebene2
            <ul>
              <li>Ebene3</li>
              <li>Ebene3</li>
              <li>Ebene3</li>
            </ul>
          </li>
          <li>Ebene2
            <ul>
              <li>Ebene3</li>
              <li>Ebene3</li>
              <li>Ebene3</li>
            </ul>
          </li>
          <li>Ebene2
            <ul>
              <li>Ebene3</li>
              <li>Ebene3</li>
              <li>Ebene3</li>
            </ul>
          </li>
        </ul>
      </li>
      <li>Ebene1
        <ul>
          <li>Ebene2
            <ul>
              <li>Ebene3</li>
              <li>Ebene3</li>
              <li>Ebene3</li>
            </ul>
          </li>
          <li>Ebene2
            <ul>
              <li>Ebene3</li>
              <li>Ebene3</li>
              <li>Ebene3</li>
            </ul>
          </li>
          <li>Ebene2
            <ul>
              <li>Ebene3</li>
              <li>Ebene3</li>
              <li>Ebene3</li>
            </ul>
          </li>
          <li>Ebene2
            <ul>
              <li>Ebene3</li>
              <li>Ebene3</li>
              <li>Ebene3</li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </body>
</html>


Auf Wiederlesen
Detlef

--
- Wissen ist gut
- Können ist besser

- aber das Beste und Interessanteste ist der Weg dahin!

nach obennach unten

Verschachtelte Listen mit CSS formatieren

Die folgende Nachricht zum Thema stammt von: sebastian, 31. 12. 2007, 04:41

@Detlef

Ja, genau so :)
vielen dank

nach obennach unten

Verschachtelte Listen mit CSS formatieren

Die folgende Nachricht zum Thema stammt von: sebastian, 31. 12. 2007, 07:37

Hallo Detlef,
Ich habe die Liste gerade noch einmal im Internet Explorer getestet.
Während sie im Firefox richtig angezeigt wird, werden im Internetexplorer die floatenden Listenelemente schon umgebrochen wenn das browserfenster noch doppelt so groß ist wie die angezeigte Liste.

Im Firefox hingegen wie erwartet dann, wenn das browserfenster wirklich zu klein wird.

Weist du woran das liegt, bzw. ob man das Problem im IE beheben kann?

Hier ist noch ein Screenshot von dem Problem:
Detlefs Liste im IE 6.0

nach obennach unten

Verschachtelte Listen mit CSS formatieren

Die folgende Nachricht zum Thema stammt von: Detlef G., 31. 12. 2007, 15:36

Hallo sebastian

»» Während sie im Firefox richtig angezeigt wird, werden im Internetexplorer die floatenden Listenelemente schon umgebrochen wenn das browserfenster noch doppelt so groß ist wie die angezeigte Liste.

Ich hatte nur dein Beispiel umgesetzt, ohne im IE kleinere Browserfenster oder/und noch längere Listen zu testen.

»» Weist du woran das liegt,

Welcher der mannigfachen Bugs des IE für diesen Blödsinn genau verantwortlich ist, weiß ich nicht.

»» bzw. ob man das Problem im IE beheben kann?

Entweder flexibel, mit durchgehendem Border:
* html li {
  height:1%;
  float:none;
}

* html li li {
  height:auto;
  float:left;
}


oder:
* html li {
  width:100%;
}

* html li li {
  width:auto;
}


oder mit fester, an den Inhalt anpassbarer Breite:
* html li {
  width:36em;
}

* html li li {
  width:auto;
}



Auf Wiederlesen
Detlef

--
- Wissen ist gut
- Können ist besser

- aber das Beste und Interessanteste ist der Weg dahin!

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2007 Teil von Dezember

© 1998-2006 Seite Impressum, Software: Classic Forum