Robert Bamler: (CSS)(HTML) Denkblockade :(

Beitrag lesen

Hallo Ole,

damit keine zwischenräume zwischen den grafiken ("[x]", "|-", "|", "L-") sind habe ich gedacht ich nehme tabellen dafür

Eine andere Möglichkeit, die vielleicht nicht ganz gerne gesehen wird, aber im Prinzip funktioniert und sicher einfacher ist, sind Blindgifs. Die eignen sich aber nur, wenn du dir sicher bist, dass der Text neben den Bildern nicht umgebrochen wird bzw. wenn du genau weißt, wo er umgebrochen wird. Dann müsstest du für "[x]", "|-", "|" und "L-" jeweils kleine Bildchen *der gleichen Größe* erstellen. Dazu kommt noch ein genauso großes Blindgif (transparentes Bild) für alle Stellen, wo nichts erscheint.

Sei "[ ]" das Blindgif. Dann wäre ein Beispiel:

[x] 1
[|] [x] 1.1
[|] [x] 1.2
[|] [+] [x] 1.2.1
[|] [L] [x] 1.2.2
[|] [ ] [+] [x] 1.2.2.1
[|] [ ] [+] [x] 1.2.2.2
[|] [ ] [L] [x] 1.2.2.3
[x] 2

Dann kannst du um alles, was sich ein- und ausblenden lässt einen div schreiben:

[x] 1
<div id="div_1">
  [|] [x] 1.1
  [|] [x] 1.2
  <div id="div_1_2">
    [|] [+] [x] 1.2.1
    [|] [L] [x] 1.2.2
    <div id="div_1_2_2">
      [|] [ ] [+] [x] 1.2.2.1
      [|] [ ] [+] [x] 1.2.2.2
      [|] [ ] [L] [x] 1.2.2.3
    </div>
  </div>
</div>
[x] 2

Und diese Divs kannst du dann einzeln sichtbar- und unsichtbar machen. Das hat außerdem den Effekt, dass ein div, der selbst sichtbar wäre, sich aber in einem unsichtbaren div befindet, auch unsichtbar ist. Wenn also beispielsweise div_1_2 ausgeblendet wird, ist auch div_1_2_2 unsichtbar. Wird div_1_2 wieder eingeblendet, dann wird auch div_1_2_2 wieder sichtbar. Wenn zuerst div_1_2_2 ausgeblendet wird, anschließend div_1_2 ausgeblendet wird und dann div_1_2 wieder eingeblendet wird, dann ist auch div_1_2_2 noch unsichtbar, wie man es vom Windows-Explorer kennt.

Ich hab' sowas ähnliches mal gemacht (damals noch mit document.all). Wenn du willst, kann ich dir den Quelltext und die Bildchen schicken. Die Bilder sind direkt aus dem Windows-Explorer herauskopiert (ist glaub' ich kein Urheberrechtsbruch).

Viel Erfolg,
Robert