klickme: listenbreite lässt sich in css für IE nicht formatieren

ich möchte habe eine liste wie folgt erstellt:

<ul>
      <li > <a  href="#" title="">link1 &gt; &nbsp;</a>
  <ul >
   <li> <a href="#"> eins</a> </li>
   <li> <a href="#"> zwei</a> </li>
   <li> <a href="#"> dreidrei</a> </li>
   <li> <a href="#"> viervierviervier</a> </li>   </ul>
 </li>
 <li> <a href="#">langerlink2 &gt; &nbsp;</a>
  <ul>
   <li> <a href="#"> eins</a> </li>
   <li> <a href="#"> zwei</a> </li>
         <li> <a href="#"> dreidrei</a> </li>
         <li> <a href="#"> viervierviervier</a> </li>
  </ul>
 </li>
</ul>

nun möchte ich erreichen, dass die links im ersten <li>tag also link1 und link2,
in der breite an den linktext anpassen. ich habe dazu in css li auf width: auto; geschaltet. leider wird im IE6 das linkfeld dann über das komplette browserfenster gezogen. in mozilla funktionierts jedoch.

wer weiss rat?

  1. Hallo klickme,

    nun möchte ich erreichen, dass die links im ersten <li>tag also link1 und link2,
    in der breite an den linktext anpassen. ich habe dazu in css li auf width: auto; geschaltet. leider wird im IE6 das linkfeld dann über das komplette browserfenster gezogen. in mozilla funktionierts jedoch.

    wie is'n das? Sind <li> eigentlich Blockelemente, die eh immer 100% Breite haben, außer man sagt etwas anderes/kürzeres außer "auto"?

    Mit freundlichen Grüßen,
    André

    1. Hi,

      wie is'n das? Sind <li> eigentlich Blockelemente, die eh immer 100% Breite haben, außer man sagt etwas anderes/kürzeres außer "auto"?

      Die HTML-DTD sagt:
      <!ELEMENT LI - O (%flow;)*             -- list item -->

      <!ENTITY % flow "%block; | %inline;">

      Und in CSS 2.1 findest Du:
      Several values of the 'display' property make an element block-level: 'block', 'list-item', and 'run-in' (part of the time; see run-in boxes), and 'table'.

      Some block-level elements generate additional boxes outside of the principal box: 'list-item' elements. These additional boxes are placed with respect to the principal box.

      list-item
          This value causes an element (e.g., LI in HTML) to generate a principal block box and a list-item inline box.

      So wie ich das verstehe, sind Listen hier irgendwie Zwitter.

      freundliche Grüße
      Ingo

      1. Hi,

        wie is'n das? Sind <li> eigentlich Blockelemente, die eh immer 100% Breite haben, außer man sagt etwas anderes/kürzeres außer "auto"?

        Die HTML-DTD sagt:
        <!ELEMENT LI - O (%flow;)*             -- list item -->
        <!ENTITY % flow "%block; | %inline;">

        Und? Das sagt nur etwas über den Inhalt von li aus, nicht aber über li selbst.

        In HTML ist li kein Blockelement, denn es befindet sich nicht in der parameter entity %block;

        <!ENTITY % block
             "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
              BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
        <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
        <!ENTITY % list "UL | OL">
        <!ENTITY % preformatted "PRE">

        ==> li ist kein Block-Element in HTML (aber auch kein inline-Element, denn in inline befindet sich li auch nicht).

        Und in CSS 2.1 findest Du:
        Several values of the 'display' property make an element block-level: 'block', 'list-item', and 'run-in' (part of the time; see run-in boxes), and 'table'.

        Damit ist ja schon festgestellt, daß es sich um ein block-level-Element handelt ==> width:auto führt zur vollen Ausnutzung der vorhandenen Breite, die margin/border/padding übriglassen.

        Some block-level elements generate additional boxes outside of the principal box: 'list-item' elements. These additional boxes are placed with respect to the principal box.

        Sekundäre Boxen haben keinen Einfluß auf width.

        So wie ich das verstehe, sind Listen hier irgendwie Zwitter.

        Listen oder Listen-Elemente? ;-)

        Damit ein Element wie von klickme gewünscht nur so breit ist wie sein Inhalt, müßte es ein inline-Element sein (display also inline, inline-table, compact oder run-in sein[1]) bzw. (ab CSS 2.1) gefloatet ohne Breitenangabe.

        [1] m.E. ist da ein Fehler in CSS 2.1 - inline-block müßte da auch dabei sein, ist es aber laut http://www.w3.org/TR/CSS21/visuren.html#inline-level seltsamerweise nicht.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hi,

          Die HTML-DTD sagt:
          <!ELEMENT LI - O (%flow;)*             -- list item -->
          <!ENTITY % flow "%block; | %inline;">

          Und? Das sagt nur etwas über den Inhalt von li aus, nicht aber über li selbst.

          Schon, aber da es Block-Elemente enthalten darf, sagt dies schonmal aus, daß es selbst eher ein Block-Element als ein Inline-Element ist.

          ==> li ist kein Block-Element in HTML (aber auch kein inline-Element, denn in inline befindet sich li auch nicht).

          Ergo: Zwitter. ;-)
          bzw.:

          Listen oder Listen-Elemente? ;-)

          Damit ein Element wie von klickme gewünscht nur so breit ist wie sein Inhalt, müßte es ein inline-Element sein (display also inline, inline-table, compact oder run-in sein[1]) bzw. (ab CSS 2.1) gefloatet ohne Breitenangabe.

          Wobei compact in CSS 2.1 nicht mehr enthalten ist.

          [1] m.E. ist da ein Fehler in CSS 2.1 - inline-block müßte da auch dabei sein, ist es aber laut http://www.w3.org/TR/CSS21/visuren.html#inline-level seltsamerweise nicht.

          Da magst Du recht haben, ich sehe inline-block auch ähnlich wie ein img, in welches man Inhalte setzen kann. Schreib's denen doch - noch ist es Working Draft.

          freundliche Grüße
          Ingo

          1. Hi,

            ==> li ist kein Block-Element in HTML (aber auch kein inline-Element, denn in inline befindet sich li auch nicht).
            Ergo: Zwitter. ;-)

            Ist title dann auch ein Zwitter? Oder meta? Oder base? Oder head? Oder html? Oder ...

            [1] m.E. ist da ein Fehler in CSS 2.1 - inline-block müßte da auch dabei sein, ist es aber laut http://www.w3.org/TR/CSS21/visuren.html#inline-level seltsamerweise nicht.
            Da magst Du recht haben, ich sehe inline-block auch ähnlich wie ein img, in welches man Inhalte setzen kann.

            Schreib's denen doch - noch ist es Working Draft.

            Wie kommst Du auf die absurde Idee, daß ich das noch nicht getan haben könnte? ;-)

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Hi,

              Ist title dann auch ein Zwitter? Oder meta? Oder base? Oder head? Oder html? Oder ...

              ach komm... da die Elemente im head nicht zur Darstellung vorgesehen sind, dürfte eine Spezifizierung wohl entbehrlich sein.
              Bei html (und body) scheinen sich die Browserhersteller jedenfalls einig zu sein, daß diese Elemente block-level sind; bzgl. der Höhe ht Opera hier eigene Vorstellungen und scheint sie wie normale Block-Elemente zu behandeln.

              Schreib's denen doch - noch ist es Working Draft.

              Wie kommst Du auf die absurde Idee, daß ich das noch nicht getan haben könnte? ;-)

              *g* Da bin ich ja mal gespannt...

              freundliche Grüße
              Ingo

          2. Hallo Ingo.

            [1] m.E. ist da ein Fehler in CSS 2.1 - inline-block müßte da auch dabei sein, ist es aber laut http://www.w3.org/TR/CSS21/visuren.html#inline-level seltsamerweise nicht.
            Da magst Du recht haben, ich sehe inline-block auch ähnlich wie ein img, in welches man Inhalte setzen kann. Schreib's denen doch - noch ist es Working Draft.

            Nein, es ist bereits seit Langem im „Candidate Recommendation“-Status was dem alten „Recommendation“-Status entspricht.

            An CSS 2.1 wird sich also nichts mehr ändern; wenn überhaupt, dann gibt es ein CSS 2.2.

            Einen schönen Sonntag noch.

            Gruß, Ashura

            1. Hi,

              noch ist es Working Draft.

              Nein, es ist bereits seit Langem im „Candidate Recommendation“-Status was dem alten „Recommendation“-Status entspricht.

              ich hätte für Dich wohl besser schreiben sollen, daß es *wieder* Working Draft ist. ;-)
              Dein Blog Eintrag ist überholt.

              freundliche Grüße
              Ingo

              1. Hallo Ingo.

                ich hätte für Dich wohl besser schreiben sollen, daß es *wieder* Working Draft ist. ;-)

                Dann wird also in der Tat daran weitergearbeitet.

                Dein Blog Eintrag ist überholt.

                Die Aussage „Rec“ → „RC“ besteht doch noch, oder?

                Einen schönen Sonntag noch.

                Gruß, Ashura