Formatierten Text in einen normalen Text W3-konform einbringen



  • Ich hab in einem HTML-Dokument einen Text, der im Vergleich zum restlichen Text folgendermaßen aussehen soll (T ist der reguläre Text, X ist der Text, von dem ich spreche):

    TTTTTTTTTTTTTTTTTTTT
       XXXXXXXXXXXXXX
       XXXXXXXXXXXXXX
       XXXXXXXXXXXXXX
    TTTTTTTTTTTTTTTTTTTT
    

    Der Text soll also links und rechts einen Rand haben. Bisher hab ich das folgendermaßen geregelt:

    <p>
        Normaler Text
        <div class="SpziellerText">Spezieller Text</div>
        Normaler Text
    </p>
    

    Im Stylesheet hab ich dann festgelegt, daß .SpeziellerText einen margin-left und margin-right hat, was auch funktionierte.

    Mein Problem ist nur, daß mein Dokument W3-konform (strict) sein soll und der Validator offenbar ein <div> innerhalb eines <p>-Blocks nicht erlaubt.

    Wenn ich das ganze so hier schreibe:

    <p>
        Normaler Text<br />
        <span class="SpziellerText">Spezieller Text</span><br />
        Normaler Text
    </p>
    

    dann ist es zwar gültig, aber dann sieht es so aus:

    TTTTTTTTTTTTTTTTTTTT
       XXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXX
    TTTTTTTTTTTTTTTTTTTT
    

    Und wenn ich das <p> vorher schließe:

    <p>Normaler Text</p>
    <div class="SpziellerText">Spezieller Text</div>
    <p>Normaler Text</p>
    

    dann wird zwischen dem normalen und dem speziellen Text eine Leerzeile gemacht:

    TTTTTTTTTTTTTTTTTTTT
    
       XXXXXXXXXXXXXX
       XXXXXXXXXXXXXX
       XXXXXXXXXXXXXX
    
    TTTTTTTTTTTTTTTTTTTT
    

    Wie kann ich es hinbekommen, daß das ganze so wie oben aussieht (ohne Leerzeilen), aber trotzdem W3-konform ist? (Den margin-bottom auf einen negativen Wert festlegen, geht übrigens nicht richtig, da sich das ganze je nach Schriftgröße verschieben würde und ein solches Vorgehen somit nicht vorgesehen ist.)



  • Was soll das <p> drum herum? Lass es weg oder ersetze es durch ein <div>.



  • Weglassen geht nicht, da das nicht standardkonform wäre. Und in ein <div> packen würde zwar gehen, aber wäre das nicht Zweckentfremdung? Immerhin steht <p> ja für Paragraph, und genau darum handelt es sich, während <div> (division) ein allgemeines Block-Element ist, das wohl vor allem dazu gedacht ist, mit Hilfe von "class=" etwas selbst Definiertes darzustellen.



  • NES-Spieler schrieb:

    Und in ein <div> packen würde zwar gehen, aber wäre das nicht Zweckentfremdung?

    Ganz sicher nicht 😉

    p = Paragraph
    div = Einteilung

    Wo ist das Problem?


Anmelden zum Antworten