Bene: Frage zu Auszeichnung von Navigationsmenü als Liste

Hallo,

ich habe folgendes Problem:
horizontale Navigation mit 4 Listenelementen. Die 4 Listenelemente sollen immer die gesamte feste Breite (z.B. 500px) ausfüllen und der Abstand zwischen den Listenelementen soll automatisch gemacht werden, d.h. wird ein Listenelement umbenannt und der somit länger, so soll die der Abstand zwischen den Elementen kleiner werden, wie bei einer Tabelle.

Liege ich richtig in der Annahme das ich mit html-Listen und CSS keine Möglichkeit habe, diese Anforderungen zu erfüllen, oder fällt euch eine Lösung ein?

zweites Problem: Auszeichnung von Zitaten. Mit q werden außer beim IE automatisch Anführungszeichen gesetzt, was dazu führt das bei manuellem Einfügen von Anführungszeichen, diese z.B. beim mozilla doppelt erscheinen.
Was haltet ihr von der Lösung:
mit CSS qoutes auf leer also "" setzen, manuelles Einfügen der Anführungszeichen, damit man bei allen das gleiche Ergebnis hat und das semantisch korrekte Element verwendet.

Danke & Grüße
Benedikt

  1. Mahlzeit.

    Liege ich richtig in der Annahme das ich mit html-Listen und CSS keine Möglichkeit habe, diese Anforderungen zu erfüllen, oder fällt euch eine Lösung ein?

    Was spricht denn gegen die Verwendung einer Breitenangabe in Prozent für deine Listenelemente? Die Anzahl der Elemente scheint ja festzustehen.

    Wenn du also die Listeneinträge als Blockelemente formatierst, nach links floatest und ihnen jeweils eine Breite von 25% gibst, hast du dein gewünschtes Resultat.

  2. Hello out there!

    Die 4 Listenelemente sollen immer die gesamte feste Breite (z.B. 500px) ausfüllen und der Abstand zwischen den Listenelementen soll automatisch gemacht werden, […] wie bei einer Tabelle.
    […] fällt euch eine Lösung ein?

    Sogar zwei:

    (1) Die hast du schon angedeutet: „wie bei einer Tabelle.“

    ul {display: table}  
    li {display: table-cell}
    

    Der Darstellungsalgorithmus der Browser macht den Zwischenraum nicht unbedingt gleich.

    (2) Du benutzt den Blocksatz:

    ul {text-align: justify}  
    li {display: inline}
    

    Da Blocksatz die letzte Zeile eines Absatzes nicht beeinflusst, muss das Menü also in der vorletzten stehen und danach noch eine Zeile mit unsichtbarem Inhalt kommen:

    li:last-child::after {content: " \A0\A0\A0\A0\A0\A0\A0"}

    Die Anzahl der geschützten Leerzeichen richtet sich nach der Breite der Box.

    IEs sind mit beiden Varianten überfordert, aber die zweite ließe sich ja auch mit HTML zusammenschummeln:

    <ul>  
      <li>foo</li>  
      <li>bar</li>  
      <li>baz</li>  
      <!--[if lt IE 7]> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<![endif]-->  
    </ul>
    

    zweites Problem: Auszeichnung von Zitaten.
    Was haltet ihr von der Lösung:
    mit CSS qoutes auf leer also "" setzen, manuelles Einfügen der Anführungszeichen

    Warum soll man modernen Browsern die Möglichkeit nehmen, die entsprechenden Anführungszeichen zu setzen – auch abhängig von der Sprache (lang-Attribut) und Verschachtelungstiefe?

    Damit in IEs auch Anführungszeichen stehen:

    <q><!--[if lt IE 7]>&quot;<![endif]-->lorem ipsum<!--[if lt IE 7]>&quot;<![endif]--></q>

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Hi,

      <q><!--[if lt IE 7]>&quot;<![endif]-->lorem ipsum<!--[if lt IE 7]>&quot;<![endif]--></q>

      vermutest Du, daß der IE7 schon soweit ist oder weißt Du darüber schon etwas?

      freundliche Grüße
      Ingo

      1. Hello out there!

        vermutest Du, daß der IE7 schon soweit ist oder weißt Du darüber schon etwas?

        Reine Spekulation. Aber ich vermute wirklich, dass der IE7, wenn er rauskommt, auf der Höhe der Zeit sein wird. Vorher beteilige ich mich auch an keinem IE7-Bashing.

        See ya up the road,
        Gunnar

        --
        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
        1. Hi,

          Reine Spekulation. Aber ich vermute wirklich, dass der IE7, wenn er rauskommt, auf der Höhe der Zeit sein wird. Vorher beteilige ich mich auch an keinem IE7-Bashing.

          Ich auch nicht. Aber ich gehe gern eine Wette ein, daß er HTML 4.01 zumindest in diesem Punkt noch nicht korrekt umetzen wird. ;-)

          freundliche Grüße
          Ingo

  3. Hallo,

    Vielen Dank für die hilfreichen Antworten!
    Da sind wirklich gute Lösungsvorschläge dabei.

    Viele Grüße
    Bene