2

Bei HTML den Zeilenabstand zwischen Absätzen verkleinern.

Frage von boriswulff boriswulff

In HTML bekomme ich zwischen zwei Absätzen

<p>Absatz 1</p><p>Absatz 2</p>

normalerweise einen doppelten Zeilenabnstand.

Nun möchte ich diesen, innerhalb des HTML-Dokumentes, auf einen normalen einfachen Zeilenabstand verringern.

Wie mache ich das am geschicktesten. Wie geht das mit einem CSS Tag?

Fragen zu gleichen Themen finden

Antworten (2)

  • 1
    Antwort von user1175 user1175

    Wie claude schon schrieb, kannst du einen normalen Zeilenumbruch mit <br> erwirken.

    Mit CSS ginge es folgendermaßen, der Abstand kann beliebig sein:

    <div style="padding-top:10px">irgendein Text</div>

    Den oberen Abstand zum Text kannst du natürlich beliebig ändern, ob 10 oder 30 Pixel.

    ... wobei, mich irritiert deine Formulierung "normaler einfacher Zeilenabstand" oder das Wort "doppelt". Du meinst jetzt einen normalen Zeilenumbruch, oder?

    Kommentar von user1175 user1175user1175

    Im Übrigen musst du einen <p>-Tag auch nicht mit / abschließen. Es reicht, wenn du

    <p>Absatz 1

    <p> Absatz 2

    ... schreibst. ;-)

    Das <p> kann an beliebiger Stelle stehen, ob vor oder nach einem Wort/ Satz/ Zeile/ Absatz - je nachdem.

    Kommentar von boriswulff boriswulffboriswulff

    Damit CSS Tags angewendet werden sollte man schon ein End-Tag setzen. So steht es zumindest in meinem Buch über HTML.

    Kommentar von user1175 user1175user1175

    Ich verstehe deinen Einwand gerade nicht. Das Tag <p> hat nichts mit CSS zu tun. Es ist ein ganz normaler HTML-Tag. Und dieser benötigt keinen End-Tag, genau so wenig wie <br>. Du kannst <br> oder <p> beliebig setzen, auch innerhalt einer CSS-Formatierung. (ich kenne mich schon recht gut aus ;-))

    Kommentar von ArnoNymous ArnoNymous

    ein <p> ohne </p> ist äußerst schlechter Stil! Schon alleine auch aus dem Grund, dass Layout-Formatierungen am besten per CSS vorgenommen werden und ein <p> ohne </p> das nahezu unmöglich macht. Und w3c konform ist es sicherlich auch nicht [unbewiesene Vermutung]. Gewöhne dir so einen Käse am besten gar nicht erst an!

    Kommentar von linuxopa linuxopalinuxopa

    ein <p> ohne </p> funktioniert zwar in den mesten Browsern, doch ist es dann kein valides HTML! Wenn schon, dann sollte man sauber und valide coden.

    Kommentar von tk111 tk111tk111

    > Im Übrigen musst du einen <p>-Tag auch nicht mit / abschließen.

    In HTML nicht, in XHTML dagegen schon - imho ist es aber (auch bei HTML) unbedingt empfehlenswert auch die schließenden Tags anzugeben

    Kommentar von boriswulff boriswulffboriswulff

    Ich hatte es mit

    <style type="text/css">

    p {padding-bottom: 0px; padding-top: 0px;}

    </style>

    probiert. Dies lieferte allerdings nicht das gewünschte Ergebnis. Ich bekomme zwischen zwei Absätzen immer noch eine Leerzeile. Ich kann diese diese nur vergrößern mit den entsprechenden Tags.

    Kommentar von user1175 user1175user1175

    Wo liegt denn nun dein Problem?? Nehme doch einfach <br>, wie wir beide, claude und ich, geschrieben haben! Es ist ein ganz normaler, sauberer HTML-Tag!

    Oder du erarbeitest dir einen CSS-formatierten Bereich bzw. div-Container und setzt mit padding/ margin die Abstände (aber dazu bedarf es schon gewisser Kenntnisse).

    Die Anweisung <style type="text/css"> p {padding-bottom: 0px; padding-top: 0px;} </style> kannst du nicht innerhalb eines Textes bzw. zwischen Absätzen setzen!!

    Diese Anweisung wird in den <head>-Bereich gesetzt und bezieht sich auf Abstände innerhalb einer Tabelle bzw. eines definierten Bereichs, hat aber nichts mit Umbrüchen zu tun.

    Wenn du eine ganz normale Seite hast, die ohne Tabellen auskommt (was empfehlenswert ist), kannst du damit gar nichts erreichen.

    Einen Umbruch bzw. einen "einfachen Zeilenabstand" zum nächsten Absatz erreichst du dadurch überhaupt nicht. Auch nicht mit dem margin-bottom.

    Ich empfehle dir, erstmal HTML bzw. die Begrifflichkeiten gründlich einzustudieren. :-)

    Kommentar von user1175 user1175user1175

    Sorry - siehe oben bei claude! Habe dich echt missverstanden.

    Kommentar von tk111 tk111tk111

    > Nehme doch einfach <br>, wie wir beide, claude und ich, geschrieben haben! Es ist ein ganz normaler, sauberer HTML-Tag!

    Das ist richtig - allerdings haben <br> und <p> unterschiedliche Bedeutungen: <br> ist eine Zeilenumbruch und <p> ist Absatz, es ist also Unsinn nur aus Darstellungsgründen <br> statt <p> zu verwenden - für die Darstellung ist ausschließlich CSS zuständig!

    Kommentar von tk111 tk111tk111

    Wenn man einen Absatz schreiben will, sollte man auch ein <p> verwenden, und kein <div>.

    Kommentar von user1175 user1175user1175

    tk111, er wollte aber keinen Abstand zwischen zwei Zeilen haben. Mehr ging erstmal nicht aus einer Ausgangsfrage hervor, also bot sich zunächst das <br> an, ob CSS oder nicht. ;)

    Und dass er insoweit schon mit CSS vertraut war, konnte man auch nicht ahnen, daher mein Vorschlag ganz oben mit <div styl="padding-top/ bottom: ....>, das nicht nach einer weiteren Zeile einen Absatz erzwingt.

  • 0
    Antwort von boriswulff boriswulff

    Danke für die Mühe. Nun habe ich mir eine Antwort mühsam selbst ergoogelt.

    Das was ich gesucht habe lautet wie folgt:

    .

    <style type="text/css">

    p {margin-bottom: 0px ; margin-top: 0px;}

    </style>

    .

    Falls mal jemand das gleiche Problem haben sollte.

    Kommentar von user1175 user1175user1175

    *räusper... Ich habe extra, damit ich jetzt nicht wider Erwarten etwas falsches schreibe, eine kleine HTML-Seite getippt.

    Da ich nicht wusste, ob du eine Tabelle hast oder mit Containern arbeitest oder nicht, habe ich jetzt einfach beides genommen.

    Du kannst eine <p>-Anweisung nicht auf 0 legen. Ein <p>-Tag bedeutet immer mindestens einen Absatz (einen normalen Zeilenabsatz)!

    Mit der px-Bestimmung kannst du den normalen Absatz/ Zeilenabstand lediglich vergrößern (wenn du also z.B. 35 px nimmst bei einer normalen Schriftgröße von 10 px).

    Wenn du also in deinem Body stehen hast:

    <p>

    Willkommen auf meiner Homepage!

    <p>

    Bla bla bla .....

    <p>

    erreichst du mit deiner p {margin-bottom: 0px ; margin-top: 0px;}-Anweisung nichts.

    Schreibe einfach einen normalen Text und wenn du einen Umbruch möchtest, dann gebrauche <br> oder formatiere die Tabelle bzw. den Container so, dass die gesamte, selbst definierte Breite mit dem Text ausgefüllt wird.

    Kommentar von user1175 user1175user1175

    Nachtrag: Du kannst lediglich padding und margin komplett auf 0 setzen, also:

    p {margin: 0px; padding: 0px;}

    Dann wird das <p> wie ein <br> umgesetzt! Aber nicht mit top, bottom o.ä.

    ... aber ich glaube, deine Frage war einfach nicht ausreichend formuliert. Man kann ja nicht riechen, wo genau bzw. ob in einer Tabelle etc. du deine Abstände haben wolltest.

    Mit der o.a. Anweisung kannst du jedenfalls auch ein br ersetzen.

    Kommentar von user1175 user1175user1175

    Herrje, noch ein Kommentar von mir... Sorry für das Zukleistern hier - jetzt reicht es aber auch ;-)

    Siehe bei claude5 - habe nun verstanden, was du eigentlich wolltest.

    Kommentar von tk111 tk111tk111

    > Mit der px-Bestimmung kannst du den normalen Absatz/ Zeilenabstand lediglich vergrößern (wenn du also z.B. 35 px nimmst bei einer normalen Schriftgröße von 10 px).

    Unsinn. Mit margin und padding lassen sich die Innen- und Außenabstände frei einstellen, auch auf 0 setzen.

Diese Frage

Verwandte Fragen

Noch nicht den richtigen Rat gefunden?

Einfach und schnell viele hilfreiche Ratschläge von Deutschlands aktivster Ratgeber-Community erhalten!

Einfach und schnell einen Tipp erstellen und Ihren guten Rat mit anderen teilen!

Einfach und schnell ein Video hochladen und anschaulichen Rat an alle geben!

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.