Jnnbo: <p><ul></ul></p> erlaubt?

Hallo,

ich dachte immer, wenn im HTML ein neuer Absatz anfängt, dann nimmt man ein <p></p> Laut dem http://validator.w3.org/ ist dieses allerdings nicht erlaubt:


<p><ul class="fa-ul">
<li><span class="fa fa-check-square-o"></span>Link 1</li>
<li><span class="fa fa-check-square-o"></span>Link 1</li>
<li><span class="fa fa-check-square-o"></span>Link 1</li>
<li><span class="fa fa-check-square-o"></span>Link 1</li>
</ul></p>

  1. Hallo

    ich dachte immer, wenn im HTML ein neuer Absatz anfängt, dann nimmt man ein <p></p>

    Ja

    Laut dem http://validator.w3.org/ ist dieses allerdings nicht erlaubt:

    
    
    > <p><ul class="fa-ul">
    > <li><span class="fa fa-check-square-o"></span>Link 1</li>
    > <li><span class="fa fa-check-square-o"></span>Link 1</li>
    > <li><span class="fa fa-check-square-o"></span>Link 1</li>
    > <li><span class="fa fa-check-square-o"></span>Link 1</li>
    > </ul></p>
    > 
    
    

    Das ist ja auch kein Absatz. Ein Absatz, der mit dem Element p dargestellt witrd, ist ein Fließtextabsatz. Dieser (p) darf, so ist es in HTML defioniert, selbst keine weiteren Blockelemente (wie z.B. ul) enthalten. Du definierst hier eine (ungeordnete) Liste, die technisch kein Absatz ist. Wenn es dir um die optische Darstellung als eigener Block gehen sollte, das macht ul von alleine. Lass also p weg, das gehört da nicht hin und sieht nicht aus.

    Tschö, Auge

    --
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war. Terry Pratchett, "Wachen! Wachen!" ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
    1. Hallo,

      Das ist ja auch kein Absatz. Ein Absatz, der mit dem Element p dargestellt witrd, ist ein Fließtextabsatz. Dieser (p) darf, so ist es in HTML defioniert, selbst keine weiteren Blockelemente (wie z.B. ul) enthalten. Du definierst hier eine (ungeordnete) Liste, die technisch kein Absatz ist. Wenn es dir um die optische Darstellung als eigener Block gehen sollte, das macht ul von alleine. Lass also p weg, das gehört da nicht hin und sieht nicht aus.

      danke für deine Ausführliche Erklärung, das heißt ich muss den Editor von Joomla umbauen oder nach einer anderen Lösung suchen, bin ich in einem Beitrag, drücke hier die Enter Taste, wird automatisch ein Absatz eingefügt.

      1. Hallo

        danke für deine Ausführliche Erklärung, das heißt ich muss den Editor von Joomla umbauen oder nach einer anderen Lösung suchen, bin ich in einem Beitrag, drücke hier die Enter Taste, wird automatisch ein Absatz eingefügt.

        Das Einfachste ist, sich zu merken, dass an einer solchen Stelle kein Umbruch eigegeben werden darf. Das funktioniert allerdings nur dann, wenn man alleinig eingebender ist. Und selbst dann ist das nicht sicher.

        Sinnvoller ist natürlich die Beseitigung des Fehlers. Wenn du das selbst tust, musst du allerdings bei Updates von Joomla dran denken, die fehlerbehebung in das Update einzupflegen.

        Tschö, Auge

        --
        Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war. Terry Pratchett, "Wachen! Wachen!" ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
        1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

          ja!

          Sinnvoller ist natürlich die Beseitigung des Fehlers. Wenn du das selbst tust, musst du allerdings bei Updates von Joomla dran denken, die fehlerbehebung in das Update einzupflegen.

          Da sind wir ja wieder bei meinem aktuellen "Lieblingsthema" HTML-Parser. Den benötigt man dann dafür. In Drupal gibt es auch so ein Ding. Taugt aber auch noch nicht witklich. Wie sieht es denn in anderen CMSsen aus (z.B. Typo 3)?

          Oder aber wir müssen Christian Seiler reaktivieren, dass er seine BB-Klasse nebst Schwester- oder Parentklassen auf PHP5 umstellt.

          Wie sieht es für andere Programmiersprachen aus? Gibts da keine vernünftigen gemeinfreien Parser-Klassen?

          Das "Erlaubnisarray" (DOM-Abblidung) wächst auch immer noch vor sich hin. Reicht ja nicht, einfach nur festzustellen, was man hat, sondern auch ob es an dieser Stelle erlaubt ist.

          Spirituelle Grüße Euer Robert

          --
          Möge der Forumsgeist wiederbelebt werden!
          1. Hallo

            Sinnvoller ist natürlich die Beseitigung des Fehlers. Wenn du das selbst tust, musst du allerdings bei Updates von Joomla dran denken, die fehlerbehebung in das Update einzupflegen.

            Da sind wir ja wieder bei meinem aktuellen "Lieblingsthema" HTML-Parser. Den benötigt man dann dafür. In Drupal gibt es auch so ein Ding. Taugt aber auch noch nicht witklich. Wie sieht es denn in anderen CMSsen aus (z.B. Typo 3)?

            keine Ahnung. Für meinen Kleinkram, den ich hin und wieder mache, benutze ich keine CMSse.

            Oder aber wir müssen Christian Seiler reaktivieren, dass er seine BB-Klasse nebst Schwester- oder Parentklassen auf PHP5 umstellt.

            Ich bin seiner schon lange nicht mehr gewahr geworden. Allerdings steht die letzte Version der BBCode-Parser-Klasse unter der MIT-Lizenz (ältere Versionen standen unter GPL2). Es spricht also juristisch nichts dagegen, die notwendigen Änderungen selbst vorzunehmen.

            Tschö, Auge

            --
            Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war. Terry Pratchett, "Wachen! Wachen!" ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
          2. Hakuna matata!

            Wie sieht es für andere Programmiersprachen aus? Gibts da keine vernünftigen gemeinfreien Parser-Klassen?

            Du willst dir leider auch nicht helfen lassen. Du hast in bisher noch nicht erklärn können, woran du eigentlich scheiterst. Ich bin mir fast sicher, dass sich dein Problem sowohl mit DOMDocument als auch mit dem Parser, den Felix dir vorgeschlagen hat, lösen ließe.

            --
            “All right, then, I'll go to hell.” – Huck Finn
            1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

              ja!

              Ich bin mir fast sicher, dass sich dein Problem sowohl mit DOMDocument als auch mit dem Parser, den Felix dir vorgeschlagen hat, lösen ließe.

              Ich vermute, dass es mit etwas Aufwand mit DOMDocument geht. Wenn ich morgen Abend Zeit habe, schaue ich mir das nochmal an und lege meine Aufgabenstellung nochmal dar. Jetzt ist Enkeldienst angesagt...

              Spirituelle Grüße Euer Robert

              --
              Möge der Forumsgeist wiederbelebt werden!
  2. Du willst eine Antwort?

    Ok. Ein Absatz (<p>) beschreibt einen semantischen Textabsatz. Eine Aufzählung gehört da nicht rein und ist, folgt man den Regeln der Semantik (was HTML zu tun versucht), Abschnitt genug.

    Ergo gilt: <p><ul> == Unsinn == Fehler

    Jörg Reinholz

  3. Hi,

    ich dachte immer, wenn im HTML ein neuer Absatz anfängt, dann nimmt man ein <p></p>

    nein, nicht ganz: Man notiert <p> dort, wo der Absatz anfängt, und </p> dort, wo er aufhört.

    Laut dem http://validator.w3.org/ ist dieses allerdings nicht erlaubt:

    <p><ul class="fa-ul">
    
    > <li><span class="fa fa-check-square-o"></span>Link 1</li>
    > <li><span class="fa fa-check-square-o"></span>Link 1</li>
    > <li><span class="fa fa-check-square-o"></span>Link 1</li>
    > <li><span class="fa fa-check-square-o"></span>Link 1</li>
    > </ul></p>
    
    

    Ein p-Element darf keine Blockelemente enthalten, deswegen ist der obige Code falsch.

    Ciao,  Martin

    --
    Dieser Satz wurde in mühsamer Kleinstarbeit aus einzelnen Wörtern zusammengesetzt.   (Hopsel) Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(